Remove Duplicados //Repositório JavaScript
Descrição
Remove valores duplicados em um array.
Criado: 2005.08.13 - Modificado 2005.11.19
Criado: 2005.08.13 - Modificado 2005.11.19
Código (Download)
//+ Carlos R. L. Rodrigues
//@ http://jsfromhell.com/array/remove-duplicated [rev. #3]
removeDuplicated = function(a, s){
var p, i, j;
if(s) for(i = a.length; i > 1;){
if(a[--i] === a[i - 1]){
for(p = i - 1; p-- && a[i] === a[p];);
i -= a.splice(p + 1, i - p - 1).length;
}
}
else for(i = a.length; i;){
for(p = --i; p > 0;)
if(a[i] === a[--p]){
for(j = p; p-- && a[i] === a[p];);
i -= a.splice(p + 1, j - p).length;
}
}
return a;
};
Exemplo (Exemplo)
<script type="text/javascript">
//<![CDATA[
a = [0,1,4,1,2,3,5,5,3,7,0,6,0,1];
b = a.slice().sort();
document.write(
"<h2>Matriz desordenada</h2>A = ", a.join(","),
"<br />removeDuplicated(A) = ", removeDuplicated(a),
"<br /><h2>Matriz pr?-ordenada</h2>B = ", b.join(","),
"<br />removeDuplicated(B, true) = ", removeDuplicated(b, true)
);
//]]>
</script>
Ajuda
- removeDuplicated(vetor: Array, [sorted: Boolean = false]): Array
-
Retorna array sem os valores duplicados.
- vetor
- vetor que será analizado
- sorted
- passe true somente se a array já estiver ordenada, para obter melhor performance
Ranque (Votos: 37)
2.78