js reduce数组对象去重和js函数中获取异步操作的结果

此两个方法的记录主要是便于以后自己在新的项目中使用;

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);
})
发布了86 篇原创文章 · 获赞 15 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_39579242/article/details/98337139
今日推荐