Первый тип:
Скопируйте код кода следующим образом:
уникальная функция (arr){
вар obj = {},newArr = [];
for(var i = 0;i <arr.length;i++){
значение var = arr[i];
если(!obj[значение]){
объект [значение] = 1;
newArr.push(значение);
}
}
вернуть новыйАрр;
}
Этот метод сохраняет значение массива в объекте, поэтому, когда массив существует как член объекта, операция завершается неудачей (объект как ключ объекта будет преобразован в строку).
Второй метод:
Скопируйте код кода следующим образом:
уникальная функция (arr){
for(var i = 0;i <arr.length;i++){
for(var j = i+1;j <arr.length;j++){
if(arr[i] === arr[j]){
arr.splice(j,1);
j--}
}
}
возврат обр;
}
Даже если входящий массив содержит объекты, этот метод поддерживается, обратите внимание на '===', но при использовании вложенных циклов производительность будет хуже, чем у первого метода.