天天看點

在JS數組指定位置插入元素

翻譯日期: 2014年07月26日

翻譯人員:

​​鐵錨​​

很多與數組有關的任務聽起來很簡單,但實際情況并不總是如此,而開發人員在很多時候也用不到他。最近我碰到了這樣一個需求: 将一個元素插入到現有數組的特定索引處。聽起來很容易和常見,但需要一點時間來研究它。

// 原來的數組
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"]      

我對數組也進行過一些其他的修改,可能你已經看過了:

  • ​​​Remove an Item From an Array​​ : 從數組中删除元素​
  • ​​​Clone Arrays​​ : 數組克隆​
  • ​​​Empty Arrays​​ : 空數組​
  • ​​​Sort Arrays​​ : 數組排序​

繼續閱讀