function mergeArr(prop, ...arr) {
    if (!prop || !arr) return [];
    const map = {};
    arr.forEach(item => {
        item.forEach(info => {
            if (!info) return;
            const id = info[prop];
            map[id] = {...map[id], ...info}
        })
    })
    return Object.keys(map).map(key => map[key])
}
let arr1 = [
        { type:"text", name:"", age:"", num:"a" },
        { type:"number", name:"", age:"", num:"b" },
        { type:"areatext", name:"", age:"", num:"c" },
        { type:"date", name:"", age:"", num:"d" }
];
let arr2 = [
        { type:"text", name:"1", age:"4" },
        { type:"number", name:"2", age:"5" },
        { type:"areatext", name:"4", age:"6" },
        { type:"date", name:"5", age:"7" }
      ];

mergeArr('type',arr1,arr2)

Mrzxc
19 声望1 粉丝