unique_Array手写实现
- 根据当前数组产生一个去除重复元素后的【新数组】
- 如: [2, 3, 2, 7, 6, 7] ==> [2, 3, 7, 6]
方法一:利用forEach()和indexOf()
function unique1(array) {
const arr = []
array.forEach(item => {
if (arr.indexOf(item) === -1) {
arr.push(item)
}
});
return arr
}
方法二:利用forEach() + 对象容器
function unique2(array) {
const arr = []
const container = {}
array.forEach(item => {
if (!container.hasOwnProperty(item)) {
arr.push(item)
container[item] = true
}
});
return arr
}
方法三:利用ES6语法: from + Set 或者 … + Set
function unique3(array) {
return [...new Set(array)]
}
测试
let arr1 = [2, 3, 2, 7, 6, 7]
let a = unique3(arr1)
console.log(a)