如何在JS陣列特定索引處指定位置插入元素?
需求: 將一個元素插入現有陣列的特定索引。聽起來很容易和常見,但需要一點時間來研究它。
// 原来的数组 var array = ["one", "two", "four"]; // splice(position, numberOfItemsToRemove, item) // 拼接函数(索引位置, 要删除元素的数量, 元素) array.splice(2, 0, "three"); // array; // 现在数组是这个样子 ["one", "two", "three", "four"]
如果對擴充原生 JavaScript 不反感,那麼可以將這個方法加入到陣列原型(Array prototype):
Array.prototype.insert = function (index, item) { this.splice(index, 0, item); };
此時,可以這樣呼叫:
var nums = ["one", "two", "four"]; nums.insert(2, 'three'); // 注意数组索引, [0,1,2..] array // ["one", "two", "three", "four"]