Mig veterligen finns det ingen inbyggd funktion.
Ett i min mening smidigt sätt att göra det på:
function removeDouble(arr) {
var o=new Object();
var i=arr.length;
var a=new Array();
var t=new String();
while(i--){
t=arr[i];
o[t]=t;
}
for(i in o){
a.push(o[i]);
}
return a;
}
Du skulle kunna konvertera om listan till ett Set. Eftersom ett Set inte kan innehålla dubletter är det bara att jämföra antalet element med listan. Vet ej om det är den snyggaste lösningen dock.
Om du vill kolla om ett element finns i listan innan det läggs till kan du kolla det mha contains().
Du skulle kunna konvertera om listan till ett Set. Eftersom ett Set inte kan innehålla dubletter är det bara att jämföra antalet element med listan. Vet ej om det är den snyggaste lösningen dock.
Om du vill kolla om ett element finns i listan innan det läggs till kan du kolla det mha contains().
Det är precis så jag löser det nu. Tänkte om det fanns något bättre / snyggare sätt.
Men det är inte hela värden, det funkar ju trots allt.
Om du vill kolla om ett element finns i listan innan det läggs till kan du kolla det mha contains().
Du skulle kanske med hjälp av contains som dAEk tippsade om, kunna göra en kontroll innan du lägger till element? På så vis eliminerar du dubbletterna att ens uppstå.
if (!myArrayList.contains(myObject)) {
myArrayList.add(myObject);
}
Men det kanske inte är applicerbart på ditt problem?