Rimuovere le voci duplicate da un array è in genere qualcosa che viene eseguito facilmente utilizzando jQuery. Tuttavia è possibile ottenere lo stesso risultato utilizzando solo JavaScript. Vediamo come.
Possiamo creare la seguente funzione di utility:
var unique = function(origArr) {
var newArr = [],
origLen = origArr.length,
found, x, y;
for (x = 0; x < origLen; x++) {
found = undefined;
for (y = 0; y < newArr.length; y++) {
if (origArr[x] === newArr[y]) {
found = true;
break;
}
}
if (!found) {
newArr.push(origArr[x]);
}
}
return newArr;
}
Esempio d'uso:
var arr = ['a', 'b', 'c', 'a', 'd', 'e', 'b', 'c', 'f', 'g', 'f'];
var arrUnique = unique(arr);
alert(arrUnique); // ['a','b','c','d','e','f','g']