let arr = [1,2,3,5,5,3,3]
arr.unique();
.Object.defineProperty
и через return
возвращаю новый массив уникальных значений.arr
сразу появились уникальные значения?return
.arr = arr.unique();
. Array.prototype.unique = function(createNewArr) {
const arr = createNewArr ? [] : this;
arr.splice(0, arr.length, ...new Set(this));
return arr;
};
const arr1 = [ 1, 1, 1 ];
console.log(arr1.unique()); // [1]
console.log(arr1); // [1]
const arr2 = [ 2, 2, 2 ];
console.log(arr2.unique(true)); // [2]
console.log(arr2); // [2, 2, 2]