Diff //Repositório JavaScript

Descrição

Compara dois vetores e retorna os valores distintos.
Criado: 2005.11.04

Código (Download)

//+ Carlos R. L. Rodrigues
//@ http://jsfromhell.com/array/diff [rev. #1]

diff = function(v, c, m){
    var d = [], e = -1, h, i, j, k;
    for(i = c.length, k = v.length; i--;){
        for(j = k; j && (h = c[i] !== v[--j]););
        h && (d[++e] = m ? i : c[i]);
    }
    return d;
};

Exemplo (Exemplo)

<script type="text/javascript">
//<![CDATA[

var a = [1,2,4,5,7], b = [1,2,3,9];

document.write(
    "A = ", a, "<br />B = ", b, "<br /><br />",
    "diff(A, B) = ", diff(a, b), "<br />",
    "diff(B, A) = ", diff(b, a)
);

//]]>
</script>

Ajuda

diff(vetor: Array, comparador: Array, [useIndex: Boolean = false]): Array
Compara o vetor com um outro (comparador) e, retorna uma array informando os valores de comparador que não existem em vetor.
vetor
array a ser comparado
comparador
array comparador
useIndex
se true, será retornado uma array contendo os índices dos elementos em comparador, caso contrário retorna os próprios valores

Ranque (Votos: 45)

2.49