Thêm phần tử vào mảng JavaScript tại chỉ mục

Bạn có thể sử dụng phương thức splice() để chèn một giá trị hoặc một mục vào một mảng tại một chỉ mục cụ thể trong JavaScript. Đây là một phương pháp rất mạnh và linh hoạt để thực hiện các thao tác trên mảng

Phương thức splice() có cú pháp như array.splice(startIndex, deleteCount, item1, item2,...). Để thêm các phần tử vào một mảng bằng phương pháp này, hãy đặt deleteCount thành 0 và chỉ định ít nhất một phần tử mới, như minh họa trong ví dụ sau

Để thêm các phần tử vào cuối hoặc đầu một mảng, bạn chỉ cần sử dụng các phương thức mảng push()unshift(). Xem hướng dẫn về Mảng JavaScript để tìm hiểu thêm về thao tác mảng

Để thêm một phần tử vào chỉ mục cụ thể, không có phương thức nào có sẵn trong đối tượng Array. Nhưng chúng ta có thể sử dụng phương thức splice đã có sẵn trong đối tượng Array để đạt được điều này

Một mảng bắt đầu từ index 0, Vì vậy, nếu chúng ta muốn thêm một phần tử làm phần tử đầu tiên của mảng, thì chỉ số của phần tử là

var num = [1, 2, 3, 6, 7, 8];

// insertAt() arguments
// 1.  source array - num
// 2.  index to insert - 3
// 3.  remaining are elements to insert

insertAt(num, 3, 4, 5); // [1,2,3,4,5,6,7,8]
0. Nếu chúng ta muốn thêm một phần tử vào vị trí
var num = [1, 2, 3, 6, 7, 8];

// insertAt() arguments
// 1.  source array - num
// 2.  index to insert - 3
// 3.  remaining are elements to insert

insertAt(num, 3, 4, 5); // [1,2,3,4,5,6,7,8]
1 thì chỉ mục là chỉ mục
var num = [1, 2, 3, 6, 7, 8];

// insertAt() arguments
// 1.  source array - num
// 2.  index to insert - 3
// 3.  remaining are elements to insert

insertAt(num, 3, 4, 5); // [1,2,3,4,5,6,7,8]
2

"Phương thức splice() thay đổi nội dung của một mảng bằng cách loại bỏ hoặc thay thế các phần tử hiện có và/hoặc thêm các phần tử mới, trong mảng ban đầu (có nghĩa là mảng nguồn đã được sửa đổi)" - MDN

Giả sử bạn muốn thêm một mục vào một mảng, nhưng bạn không muốn thêm một mục vào cuối mảng. Bạn muốn thêm nó một cách rõ ràng vào một vị trí cụ thể của mảng

Nơi đó được gọi là chỉ số

Chỉ mục mảng bắt đầu từ 0, vì vậy nếu bạn muốn thêm phần tử vào trước, bạn sẽ sử dụng chỉ mục 0, ở vị trí thứ hai, chỉ mục là 1, v.v.

Để thực hiện thao tác này, bạn sẽ sử dụng phương thức splice() của một mảng. Chức năng này rất mạnh và ngoài việc sử dụng chúng ta sẽ thực hiện ngay bây giờ, nó còn cho phép xóa các mục khỏi một mảng. Vì vậy, tiến hành một cách thận trọng

splice() có 3 đối số trở lên. Đầu tiên là chỉ số bắt đầu. nơi chúng tôi sẽ bắt đầu thực hiện các thay đổi. Thứ hai là tham số đếm xóa. Chúng tôi đang thêm vào mảng, vì vậy số lần xóa là 0 trong tất cả các ví dụ của chúng tôi. Sau này, bạn có thể thêm một hoặc nhiều mục để thêm vào mảng

Các chỉ mục JavaScript dựa trên số không, vì vậy phần tử đầu tiên trong mảng có chỉ mục là 0 và phần tử cuối cùng có chỉ mục là arr.length - 1

Điều có vẻ khó hiểu với bạn là

"Tại sao chúng tôi cung cấp đối số đếm xóa khi thêm một phần tử vào mảng?"

Phương pháp Array.splice() được sử dụng để làm 3 việc rất khác nhau

  1. Xóa các phần tử khỏi một mảng bắt đầu từ một chỉ mục cụ thể
  2. Thay thế các phần tử trong một mảng bắt đầu từ một chỉ mục cụ thể
  3. Thêm các phần tử vào một mảng bắt đầu từ một chỉ mục cụ thể

Đây là một ví dụ về việc thêm một phần tử mảng vào một chỉ mục, tuy nhiên, lần này chúng ta sẽ sử dụng các biến được đặt tên để dễ đọc hơn một chút

Ta bắt đầu thay đổi mảng tại chỉ số 1, xóa phần tử 0 và thêm phần tử có giá trị b vào đầu chỉ số (1)

Phương thức Array.splice() trả về một mảng chứa các phần tử đã bị xóa, tuy nhiên, chúng tôi đặt tham số thứ hai (số lượng xóa) thành 0, vì vậy nó trả về một mảng trống

Chúng tôi cũng có thể chèn nhiều hơn 1 phần tử, bắt đầu từ chỉ mục được cung cấp

Trong ví dụ này, chúng tôi thêm các phần tử bArray.splice()2 vào mảng, bắt đầu từ chỉ mục 1

Các phần tử được thêm vào mảng theo thứ tự chúng được cung cấp cho phương thức Array.splice(). Vì vậy, b sẽ ở chỉ số 1Array.splice()2 sẽ ở chỉ số Array.splice()8

Nếu bạn có một mảng chứa các phần tử bạn muốn thêm bắt đầu từ chỉ mục đã chỉ định, bạn có thể sử dụng cú pháp trải rộng (. )

Một cách dễ dàng để suy nghĩ về cú pháp lây lan (. ) là chúng ta đang giải nén các giá trị của mảng và chuyển chúng dưới dạng nhiều đối số được phân tách bằng dấu phẩy cho phương thức Array.splice()

Bạn có thể tạo một hàm có thể tái sử dụng để chèn một hoặc nhiều phần tử vào một mảng tại một chỉ mục cụ thể

Hàm 00 lấy mảng, chỉ mục và các mục làm đối số và chèn các mục vào mảng tại chỉ mục đã chỉ định

Hàm 00 thay đổi mảng ban đầu

Nếu bạn không muốn thay đổi mảng ban đầu, hãy tạo một bản sao nông

Chúng tôi đã sử dụng cú pháp lây lan (. ) để tạo một bản sao nông của mảng và được gọi là phương thức Array.splice() trên bản sao

Mảng ban đầu không thay đổi

Bạn cũng có thể sử dụng phương thức 03 để thêm một hoặc nhiều phần tử mảng vào một chỉ mục cụ thể mà không làm thay đổi mảng

Thêm phần tử vào một mảng tại chỉ mục cụ thể bằng cách sử dụng 03

Để thêm một phần tử vào một mảng tại một chỉ mục cụ thể

  1. Sử dụng phương pháp 03 để lấy các phần của mảng trước và sau chỉ mục
  2. Sử dụng cú pháp trải rộng để thêm phần tử vào giữa hai lát mảng

Chúng tôi đã tạo một hàm có thể sử dụng lại để lấy một mảng, một chỉ mục và các mục sẽ được chèn vào mảng tại chỉ mục đã chỉ định

Mảng. phương thức slice() không sửa đổi mảng ban đầu

Thay vào đó, nó tạo ra một mảng mới (bản sao nông của bản gốc)

Các đối số chúng tôi chuyển đến phương thức 03 là

  1. chỉ mục bắt đầu - chỉ mục của phần tử đầu tiên được đưa vào mảng mới
  2. chỉ mục kết thúc - trích xuất các phần tử lên đến, nhưng không bao gồm chỉ mục này

Chúng tôi đã sử dụng phương pháp 03 để chia mảng thành hai phần - phần trước và phần sau chỉ mục mà chúng tôi muốn chèn phần tử vào đó

Bước cuối cùng là sử dụng cú pháp lây lan (. ) để chèn các phần tử được cung cấp vào giữa hai lát mảng

Hàm 00 không thay đổi mảng ban đầu, nó trả về một mảng mới với các phần tử được chỉ định được chèn vào chỉ mục được cung cấp

Làm cách nào để thêm một phần tử vào một mảng tại một chỉ mục js cụ thể?

Cách chèn một phần tử vào một chỉ mục cụ thể trong Mảng JavaScript .
đẩy(giá trị) → Thêm phần tử vào cuối mảng
unshift(value) → Thêm phần tử vào đầu mảng

Làm cách nào để thêm các phần tử trong mảng JavaScript?

Phương thức push() thêm các mục mới vào cuối mảng . Phương thức push() thay đổi độ dài của mảng. Phương thức push() trả về độ dài mới.