数组去重
(1):es6 中 new set()去重
let arr = [1, 2, 3, 4, 4, 4]
let arrR = [...new Set(arr)]
console.log(arrR) // [1, 2, 3, 4]
(2): reduce + includes去重
let a3 = [1, 2, 3, 4, 5, 6, 6, 6, 6]
let a2 = a3.reduce((prev, cur) => {
if (!prev.includes(cur)) {
return prev.concat(cur)
} else {
return prev
}
}, [])
console.log(a2) // [1, 2, 3, 4, 5, 6];
(3): filter去重
var arr = [1, 2, 3, 1, 2, 3]
arr.filter((v, i, arr) => {
return arr.indexOf(v) === i
})
数组对象去重
var obj = {}
if ($scope.arrList.length > 0) {
$scope.arrListNew = $scope.arrList.reduce(
function (item, next) {
obj[next.userName] ? '' : (obj[next.userName] = true && item.push(next))
return item
},[])
}