JavaScript: rimuovere le voci duplicate in un array

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']
Torna su