方法1:从数组的第2项开始,依次与前面的每一项做比较,相同则删除自己
let arr = [1, 55, 23, 55, 12, 56, 87, 45, 13, 12, 1];
for (let i = 1; i < arr.length; i++) {
for (let j = i - 1; j >= 0; j--) {
if (arr[j] === arr[i]) {
arr.splice(i, 1);
i--;
}
}
}
console.log(arr);
方法2:把原数组的每一项,都放进新建的空数组中进行比较,如果新数组没有,则在新数组中添加该项
let arr = [1, 55, 23, 55, 12, 56, 87, 45, 13, 12, 1];
let newArr = [];
arr.forEach(item => {
(newArr.indexOf(item) === -1) && newArr.push(item)
});
console.log(newArr)
方法3:先用ES6的数据结构Set去重,再用数组的扩展运算符(…)将其转化为数组
let arr = [1, 55, 23, 55, 12, 56, 87, 45, 13, 12, 1];
let newArr=[...new Set(arr)];
console.log(newArr);