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

Thêm phần tử vào mảng bằng JavaScript


Thêm phần tử vào mảng có thể dùng các hàm khác nhau cho vị trí khác nhau.

Thêm phần tử vào cuối mảng

Có thể thực hiện bằng phương thức push. Ví dụ:

let veggies = ["Onion", "Raddish"];
veggies.push("Cabbage");
console.log(veggies);

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

["Onion", "Raddish", "Cabbage"]

Bạn cũng có thể dùng này để push nhiều mục cùng lúc vì nó hỗ trợ số lượng đối số biến đổi. Ví dụ:

let veggies = ["Onion", "Raddish"];
veggies.push("Cabbage", "Carrot", "Broccoli");
console.log(veggies);

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

["Onion", "Raddish", "Cabbage", "Carrot", "Broccoli"]

Thêm phần tử vào đầu mảng

Có thể thực hiện bằng phương thức unshift. Ví dụ:

let veggies = ["Onion", "Raddish"];
veggies.unshift("Cabbage");
console.log(veggies);

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

["Cabbage", "Onion", "Raddish"]

Bạn cũng có thể dùng unshift nhiều mục cùng lúc vì nó hỗ trợ số lượng đối số biến đổi. Ví dụ:

let veggies = ["Onion", "Raddish"];
veggies.unshift("Cabbage", "Carrot", "Broccoli");
console.log(veggies);

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

["Cabbage", "Carrot", "Broccoli", "Onion", "Raddish"]

Thêm phần tử vào vị trí cho trước của mảng

Đô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. Vậy cần tạo hàm để làm được. Ta có thể thêm vào Array prototype để dùng trực tiếp trên object.

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í nhỏ hơn hoặc bằng 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);

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

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

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

Bạn cũng có thể dùng phương thức 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);

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

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

Tham số đầu của phương thức là chỉ số muốn xóa hoặc chèn phần tử. Tham số thứ hai là số phần tử muốn xóa. Và tham số thứ ba trở đi là giá trị muốn chèn vào mảng.