二次元配列から重複値を削除する最も良い方法はどれですか?例えば、私の配列は次のようになります。私はbid_array[0]
の評価を開始し、bid_array[1]
かどうかを確認する必要がありインデックス0から始まる二次元配列の重複値を削除する
var bid_array = [[1,2,3,4,5],[3,4,6,7,8,2],[7,2,4,9,11,15],[10,12,3,7,11]];
が存在競合配列から重複した値を削除した場合、bid_array[2]
またはbid_array[3]
は、すでにbid_array[0]
に存在する値が含まれています最後の配列のチェックが終了したら、今度は2番目のインデックス位置(bid_array[1]
)から開始し、次のサブ配列を確認するために再度進んでください。
私はこれを試していましたが、ただ1つの値が最大2回重複している場合にのみ機能します。例:
for (var i = 0; i < 8; i++) {
for (var j = 0; j < bid_array.length; j++) {
for (var k = (j + i); k < bid_array.length; k++) {
for (var l = 0; l < bid_array[k].length; l++) {
if (bid_array[j].indexOf(bid_array[k][l]) > -1) {
bid_array[k].splice(l, 1);
}
}
}
}
}
私が前にいた元の配列のことをしたい:
var bid_array = [[1,2,3,4,5],[3,4,6,7,8,2],[7,2,4,9,11,15],[10,12,3,7,11]];
て、結局重複する値を削除し、1つだけ維持:
var bid_array = [[1,2,3,4,5],[6,7,8],[9,11,15],[10,12]];
をするための最良の方法は何これは、すべての重複した値が削除されたというセキュリティを持っていますか?ご協力ありがとうございます。
このコードは大いに役立ちます、ありがとうございます。しかし、正確に 'マップ'は何をしますか?私は 'bid_array.map(function(element){...)'の後にコードの一部をしているのかどうかわからない。 –
要素ごとに反復し、その場所に変更された値を返します。 – marvel308