在JS數組指定位置插入元素,js數組插入元素
原文連結: Array: Insert an Item at a Specific Index with JavaScript
原文日期: 2014年07月24日
翻譯日期: 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 : 數組排序
Arrays 非常的有用—— JavaScript中處理某些任務還是比較繁瑣…… 必須編寫比實際需要的更多的代碼(code-heavy)。為了更方便,請收藏本文,或者將這些片段儲存到你的工具箱吧!
js從數組中刪除指定值(不是指定位置)的元素
如果你沒有使用第三方架構,有類似的擴充功能可以根據指定值,返回元素的下標的話,只能自己先尋找,然後再刪除。
<script type="text/javascript">
Array.prototype.indexOf = function(val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
var array = [1, 2, 3, 4, 5];
array.remove(3);
</script>
js數組添加元素
var a = [];// 建立數組a.push(1); // 添加到最後a.unshift(); // 添加到第一個位置
還能用下標添加。