我有一個像treeids = ['a','b','c','d'];
這樣的數組我想刪除'b'元素。通過使用索引我們可以做,但我想這與出使用索引,因爲這些值動態到這個數組。 只需刪除名稱而已。 它應該支持IE7瀏覽器。 如何做到這一點。如何從陣列中刪除特定元素
感謝
我有一個像treeids = ['a','b','c','d'];
這樣的數組我想刪除'b'元素。通過使用索引我們可以做,但我想這與出使用索引,因爲這些值動態到這個數組。 只需刪除名稱而已。 它應該支持IE7瀏覽器。 如何做到這一點。如何從陣列中刪除特定元素
感謝
的JavaScript 1.6提供Array.filter,這將滿足您的需求即期。
當然,從底部的瀏覽器支持表中可以看到,如果您必須支持IE 9以上的版本,那麼您的運氣不佳。
jQuery提供了jQuery.grep它做同樣的事情,但介紹了一個單獨的庫的開銷。
Underscore.js有_.filter,但同樣,這將僅使用一個單獨的庫僅用於一個目的。
此刪除所有的「B的:
Array.prototype.remove= function(item){
var L= this.length, indexed;
while(L){
indexed= this[--L];
if(indexed=== itm) this.splice(L, 1);
}
return this;
}
剪接可用在IE7(和6)。它從第一個參數指定的索引開始,刪除第二個參數中傳遞的項目數。
這需要一些解釋才行。 – Jon
嘗試以下操作:
treeids.splice(treeids.indexOf('b'), 1);
現在treeids包含剩餘...這裏'b'
是要刪除的元素。 indexOf
的參數可以來自一個變量。此外,你應該檢查錯誤:索引不應該是-1。
http://briancray.com/2009/09/30/remove-value-javascript-array/ – panupan
只刪除第一個實例或元素的所有實例? – Jon
@Jon元素的所有實例 – Mihir