Entfernen Duplikate von 2D-Array
var result = [
[0, 0, 0, -2],
[0, 0, -2, 0],
[0, 0, 0, -2],
[0, 0, -2, 0],
[0, -2, 0, 0],
[0, -2, 0, 0],
[0, 0, 0, -2],
[0, 0, -2, 0],
[0, 0, 0, -2],
[0, 0, -2, 0],
[0, -2, 0, 0],
[0, -2, 0, 0],
[0, 0, 0, -2],
[0, 0, -2, 0],
[0, 0, 0, -2],
[0, 0, -2, 0],
[0, -2, 0, 0],
[0, -2, 0, 0],
[-2, 0, 0, 0],
[-2, 0, 0, 0],
[-2, 0, 0, 0],
[-2, 0, 0, 0],
[-2, 0, 0, 0],
[-2, 0, 0, 0]
];
for (var i = 0; i < result.length; i++) { //remove duplicates
var listI = result[i];
loopJ: for (var j = 0; j < result.length; j++) {
var listJ = result[j]; //listJ and listI point at different arrays within the result array
if (listI === listJ) continue; //Ignore itself
for (var k = listJ.length; k >= 0; k--) { //checks whether the values are different, if they are continue with the loop
if (listJ[k] !== listI[k]) continue loopJ;
}
// At this point, their values are equal so we remove from the result array
result.splice(j, 1);
}
}
document.getElementById("result").innerHTML = JSON.stringify(result);
<div id="result">
</div>
Ich versuche, Duplikate von einigen Daten erzeugt mein Programm zu entfernen, wenn es einen 2D-Array permutiert, aber in einigen Fällen scheitert es alle Duplikate zu entfernen. Ich bin ein wenig verloren, warum, der Code ist kurz und kommentiert, ich habe hart in der Eingabe 2d-Array unter der Ergebnisvariablen.
Ah verdammt, danke! Ich werde dies als richtig markieren, wenn es mich – Shard