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

Thay thế phần tử mảng bằng mảng khác dùng splice trong JavaScript

Mô tả bài toán

Sử dụng Array.prototype.splice.apply() để thay thế N phần tử đầu của mảng bằng toàn bộ mảng khác.

Ví dụ minh họa

var values = ['John', 'David', 'Bob', 'Mike', 'Sam', 'Carol', 'Adam'];
var marks = [55, 78, 90];

Array.prototype.splice.apply(values, [0, marks.length].concat(marks));
console.log(values);

Kết quả

[ 55, 78, 90, 'Mike', 'Sam', 'Carol', 'Adam' ]

Giải thích

  • splice(start, deleteCount, ...items) xóa deleteCount phần tử từ start, chèn items
  • apply cho phép truyền mảng marks làm danh sách đối số riêng lẻ
  • Tương đương: values.splice(0, marks.length, ...marks) (ES6 spread)

Cách hiện đại

values.splice(0, marks.length, ...marks);