許多與陣列有關的任務聽起來很簡單,但實際情況並不總是如此,而開發人員在很多時候也用不到他。最近我碰到了這樣一個需求: 將一個元素插入到現有陣列的特定索引。聽起來很容易和常見,但需要一點時間來研究它。
// 原来的数组 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"]