1, indexOf 方法
// 最常见的方法
getUniqueList(arr) {
var newList = []
for(var i = 0; i < arr.length; i++ ) {
if(newList.indexOf(arr[i]) == -1) {
newList.push(arr[i])
}
return newList
}
}**
2, Arrray.from + Set
// 个人觉得这是性能最高好用的方法
var a = [1, 2, 4, 3, 3, 2, 2]
var b = [2, 2, 3, 5, 6 ,10]
function getUniqueList(a, b) {
var newList = Array.from(new Set([...a, ...b]))
return newList
}
console.log(getUniqueList(a, b)) // [1, 2, 4, 3, 5, 6, 10]
3, Array.reduce() 针对含有对象的复杂数组
var arr = [
{
key: '01',
value: '乐乐',
},
{
key: '02',
value: '博博',
},
{
key: '03',
value: '淘淘',
},
{
key: '04',
value: '哈哈',
},
{
key: '01',
value: '乐乐',
},
]
var obj = {}
arr = arr.reduce(function(item, next) {
obj[next.key] ? '' : (obj[next.key] = true && item.push(next))
return item
}, [])
console.log(arr)