- 微信扫码关注公众号 :前端前端大前端,追求更精致的阅读体验 ,一起来学习啊
- 关注后发送关键资料,免费获取一整套前端系统学习资料和老男孩python系列课程
var arr = [
{
key: '01',
value: 'val1'
},
{
key: '01',
value: 'val1'
},
{
key: '02',
value: 'val2'
},
{
key: '02',
value: 'val2'
},
{
key: '02',
value: 'val2'
},
{
key: '03',
value: 'val3'
}
];
function func1(arr = []) {
var result = [];
var obj = {};
for (var i = 0; i < arr.length; i++) {
if (!obj[arr[i].key]) {
result.push(arr[i]);
obj[arr[i].key] = true;
}
}
return result
}
function func2(arr = []) {
let map = new Map()
return arr.filter(item => {
if (!map.get(item.key)) {
map.set(item.key, item.key)
return item;
}
})
}
function func3(arr = []) {
var result = [];
var obj = {};
for (var i = 0; i < arr.length; i++) {
if (!obj[arr[i].value]) {
result.push(arr[i]);
obj[arr[i].value] = true;
}
}
return result
}
function func4(arr = []) {
let map = new Map()
return arr.filter(item => {
if (!map.get(item.value)) {
map.set(item.value, item.value)
return item;
}
})
}
function func5(arr = []) {
var obj = {};
return arr.reduce( (item, next)=> {
obj[next.key] ? '' : obj[next.key] = true && item.push(next);
return item;
}, []);
}