利用ES6的语法:数组去重[...new set(array)]实现
// 将数组降维
function resetArray(arr, newArr) {
arr.forEach(item => {
if (Object.prototype.toString.call(item) === '[object Array]') {
resetArray(item, newArr)
} else {
newArr.push(item)
}
})
}
// 将数组去重
function unionArray(arr) {
let newArr = []
resetArray(arr, newArr)
return [...new Set(newArr)]
}
var arr3 = [1, 2, 3, [1, 2, [3, 4]], [1]]
console.log(unionArray(arr3)) // [1, 2, 3, 4]
循环回调将数组降级,然后再去重