Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Thêm phần tử tại vị trí cho trước trong mảng JavaScript

Đôi khi bạn cần thêm phần tử vào vị trí cho trước trong mảng. JavaScript không hỗ trợ sẵn điều này. Vì vậy chúng ta cần tạo hàm để làm được. Chúng ta có thể thêm nó vào prototype của Array để sử dụng trực tiếp trên đối tượng.

Ví dụ - Tự tạo phương thức insert

Array.prototype.insert = function(data, position) {    if (position >= this.length) {       this.push(data) // Đặt cuối nếu vị trí lớn hơn độ dài mảng    } else if (position <= 0) {       this.unshift(data) // Đặt đầu nếu vị trí <= 0    } else { // Dịch tất cả phần tử sang phải       for (let i = this.length; i >= position; i--) {          this[i] = this[i - 1];       }       this[position] = data;    } } let arr = [1, 2, 3, 4]; arr.insert(-1, 2); console.log(arr);

Kết quả

Điều này sẽ cho kết quả:

[1, 2, -1, 3, 4]

Bây giờ phương thức insert có sẵn trên mọi đối tượng mảng bạn tạo.

Sử dụng splice (cách chuẩn)

Bạn cũng có thể dùng splice để chèn phần tử tại vị trí cho trước. Ví dụ:

var months = ['Jan', 'March', 'April', 'June']; months.splice(1, 0, 'Feb'); console.log(months);

Kết quả

Điều này sẽ cho kết quả:

['Jan', 'Feb', 'March', 'April', 'June']

Tham số đầu tiên: chỉ mục muốn chèn/xóa. Tham số thứ hai: số phần tử xóa (0 = chỉ chèn). Các tham số tiếp theo: giá trị muốn chèn.