<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 去重
var arr = [
{ name: '张三', id: 1, integral: 10 },
{ name: '李四', id: 2, integral: 20 },
{ name: '王五', id: 3, integral: 30 },
{ name: '赵六', id: 4, integral: 40 },
{ name: '王五', id: 3, integral: 10 },
{ name: '王五', id: 3, integral: 80 },
{ name: '赵六', id: 4, integral: 20 },
]
console.log(arrayUnique2(arr, 'id'), 'name')
/*
reducer 函数接收4个参数:
Accumulator (acc) (累计器)
Current Value (cur) (当前值)
Current Index (index) (当前索引)
Source Array (srcArray) (源数组)
*/
function arrayUnique2(arr, name) {
var hash = {};
return arr.reduce(function (acc, cru,index) {
if (!hash[cru[name]]) {
hash[cru[name]] = {index:index}
acc.push(cru)
}else{
acc.splice(hash[cru[name]]['index'],1,cru)
}
return acc;
}, []);
}
</script>
</body>
</html>
01-19
08-15
1178
07-22
1598
06-23
1022
12-11
1759
09-20
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交