O primeiro tipo:
Copie o código do código da seguinte forma:
função única (arr){
var obj = {}, novoArr = [];
for(var i = 0;i < arr.length;i++){
var valor = arr[i];
if(!obj[valor]){
obj[valor] = 1;
novoArr.push(valor);
}
}
retornar novoArr;
}
Este método armazena o valor do array no objeto, portanto, quando o array existe como membro do objeto, a operação falha (o objeto como chave do objeto será convertido em uma string).
Segundo método:
Copie o código do código da seguinte forma:
função única (arr){
for(var i = 0;i < arr.length;i++){
for(var j = i+1;j < arr.comprimento;j++){
if(arr[i] === arr[j]){
arr.splice(j,1);
j--}
}
}
retornar chegada;
}
Mesmo que a matriz recebida contenha objetos, este método é suportado, observe '===', mas usando loops aninhados, o desempenho será pior do que o primeiro método.