Sto tentando di restituire un array con solo elementi univoci che non hanno duplicati all'interno dell'array in nessun ordine particolare.Restituisce un elemento univoco che non ha duplicati in un array
[1,2,3,3,3,4,4,2]
sarebbe tornare 1
["hello", "truck", 2, "truck", 2, "truck"]
sarebbero tornati "hello"
Finora ho solo stato in grado di tornare elementi unici che utilizzano la funzione() di filtro, ma non sono sicuro dove andare.
Fondamentalmente se ci sono duplicati voglio entrambi i valori rimossi dall'array.
Sembra abbastanza semplice, ma sto avendo un serio singhiozzo mentale.
Qui di seguito è il mio codice:
function diff(arr1, arr2) {
var newArr = [];
newArr = arr1.concat(arr2);
newArr = newArr.filter(function(elem, index, self) {
return index == self.indexOf(elem);
});
console.log(newArr);
return newArr;
}
diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);
//should return 4
Possibile duplicato di [Rimuovi duplicati dalla matrice JavaScript] (http://stackoverflow.com/questions/9229645/remove-duplicates-from-javascript-array) – Teemu
La tua funzione richiede 2 matrici, ma la tua domanda menziona solo una array. cos'è questo? – Idos
@Idos Non intendo essere abrasivo, ma se osservate il mio codice noterete che prendo entrambi gli argomenti e concatenandoli in un unico array. – brndng