4

多次元配列を循環して特定の要素配列を削除するのに問題があります。私の多次元配列は次のようになります。

myArray = [["Tom", "161"], ["Dick", "29"], ["Harry", "46"]];

では、29 という数字があるとします。この配列を繰り返し処理し、2 番目の要素が 29 である配列要素を削除する最も効率的な方法は何ですか? すなわち [「ディック」、「29」]

4

4 に答える 4

10
var myArray = [["Tom", "161"], ["Dick", "29"], ["Harry", "46"]];
var myNewArray = myArray.filter(function(item){ return item[1] != 29 })  

.filter は、ネイティブ コードを使用して配列をループします。もちろん、新しいアレイを構築することは、古いアレイの一部を切り取ってテストするよりも費用がかかる可能性があります。

于 2013-07-11T19:52:18.837 に答える
2
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' ] ]
于 2013-07-11T19:58:42.170 に答える