// 利用 Set 对象数组去重。代码量少,性能较高
function unique(arr) {
// 创建一个 Set 数据结构,利用 Set 数据结构的特性去重
const set = new Set(arr);
// 将 Set 数据结构转换成数组,返回去重后的数组
return Array.from(set);
};
function uniqueArray(arr) {
// 判断传入参数是否为数组
if (!Array.isArray(arr)) {
throw new TypeError('The parameter must be an array');
}
// 创建一个新数组
const newArr = [];
// 遍历原数组
for (let i = 0; i < arr.length; i++) {
// // 判断当前元素是否为引用类型
// if (arr[i] instanceof Object) {
// if (newArr.some(j => JSON.stringify(j) === JSON.stringify(arr[i]))) {
// continue;
// };
// newArr.push(arr[i]);
// continue;
// };
// 判断当前元素是否已经存在于新数组中
if (!newArr.includes(arr[i])) {
// 如果不存在,则添加到新数组中
newArr.push(arr[i]);
}
}
// 返回新数组
return newArr;
}
console.log(uniqueArray([1, 2, 3, 4, 5, 5, 5, 5, 6, {}, {}]))
console