数组去重几种方法
let ar = [1, 2, 3, 4, 3, 3, 2, 4, 5]
es6方法
Array.from(new Set(ar))
[...new Set(ar)]
遍历
function removeSame (ar) {
let obj = {}, arr = []
for (let i =0; i<ar.length; i++) {
if (!obj[ar[i]]) {
arr.push(ar[i])
obj[ar[i]] = true
}
}
return arr
}
function removeSame (ar) {
let arr = []
for (let i = 0; i < ar.length; i++ ) {
if (arr.indexOf(ar[i]) === -1) {
arr.push(ar[i])
}
}
return arr
}
function removeSame (ar) {
let arr = ar.filter((element, index, self) => {
return selef.indexOf(element) === index
})
return arr
}
数组对象去重
let ar = [
{ id: 1, name: '张三' },
{ id: 2, name: '李四' },
{ id: 1, name: '王五' }
]
let obj = {}
ar.reduce((cur, next) => {
obj[next.id] ? '' : obj[next.id] = true && cur.push(next)
return cur
},[])