此两个方法的记录主要是便于以后自己在新的项目中使用;
reduce数组对象去重:
const person = [
{id: 1,name: 'xiaoming'},
{id: 2,name: 'xiaohong'},
{id: 3,name: 'xiaobai'},
{id: 1,name: 'xiaoming'},
{id: 4,name: 'xiaoke'},
];
const obj = {};
let arr = [];
arr = person.reduce((curren,next) => {
// 这里去id的重复,可以修改成去name的重复
obj[next.id] ? '' : (obj[next.id] = true && curren.push(next));
return curren;
},[]);
console.log(arr);
// 结果如下
(4) [{…}, {…}, {…}, {…}]
0: {id: 1, name: "xiaoming"}
1: {id: 2, name: "xiaohong"}
2: {id: 3, name: "xiaobai"}
3: {id: 4, name: "xiaoke"}
length: 4
获取函数中异步操作的结果:使用的是函数的回调
function fn(callback) {
setTimeout(() =>{
var data = 'hello';
callback(data);
},1000)
}
fn(function (data) {
console.log(data);
})