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);
})

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章