我無法循環通過多維數組並刪除特定的元素數組。我的多維數組看起來像這樣一點:從多維數組中刪除特定的數組元素?
myArray = [["Tom", "161"], ["Dick", "29"], ["Harry", "46"]];
所以,如果我有29號通過什麼這個數組是最有效的方式來循環並刪除誰的第二個元素是29數組元素?即[「Dick」,「29」]
我無法循環通過多維數組並刪除特定的元素數組。我的多維數組看起來像這樣一點:從多維數組中刪除特定的數組元素?
myArray = [["Tom", "161"], ["Dick", "29"], ["Harry", "46"]];
所以,如果我有29號通過什麼這個數組是最有效的方式來循環並刪除誰的第二個元素是29數組元素?即[「Dick」,「29」]
var myArray = [["Tom", "161"], ["Dick", "29"], ["Harry", "46"]];
var myNewArray = myArray.filter(function(item){ return item[1] != 29 })
.filter使用本地代碼來遍歷數組。建立一個新的陣列當然可能比僅僅從舊的陣列中切出一部分更昂貴,以便進行測試。
myArray = [["Tom", "161"], ["Dick", "29"], ["Harry", "46"]];
for(var i = 0; i <= myArray.length - 1; i++){
if(myArray[i][1] == "29"){
myArray[i].splice(0,2);
}
}
console.log(myArray);
// returns [ [ 'Tom', '161' ], [], [ 'Harry', '46' ] ]
brbcoding的回答刪除數組元素的內容但不刪除它。這裏是圍繞一個辦法:
myArray = [["Tom", "161"], ["Dick", "29"], ["Harry", "46"]];
document.getElementById("a").innerHTML = myArray;
for(var i = 0; i <= myArray.length - 1; i++){
if(myArray[i][1] == "29"){
myArray.splice(i--,1);
}
}
document.getElementById("b").innerHTML = myArray;
console.log(myArray);
https://jsfiddle.net/tmzshopping/dfdveazk/
剪接移除(在參數中1)一個行,就可以通過更換1通過2.我 - 減小了長度除去2行的陣列。
A ['for' loop](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for)。根據您對數據的其他操作,您可以先對數組進行排序。 –
我認爲這將是indexOf和拼接的一些組合? – AzzyDude
'indexOf'不會真正起作用,因爲您正在尋找元素內的元素。但是您可以使用http://jsperf.com/輕鬆測試更快的速度。 –