Сообщение от Bonky
|
какое из решений является более экономным по ресурсам?
|
Оба решения так себе, работают за O(n^2). То которое из учебника, лучше переписать как
Rise советовал. Твой вариант можно ускорить, если не пользоваться сплайсом:
function unique(arr) {
arr.sort();
let p = 0;
for (let i = 1; i < arr.length; ++i) {
if (arr[i] !== arr[p]) {
p++;
arr[p] = arr[i];
}
}
arr.length = p + 1;
}
Это на случай, когда надо именно пофильтровать переданный массив, а не создать новый. Но такое редко бывает.