两数组通过某个字段值的相同 合并到一起

Eggs:

// 原数据
const array1= [{ id: 1, name: '张三' }, { id: 2, name: '李四' }]
const array2 =  [{ num: 1, old: '13' }, { num: 2, old: '14' }]

// 得到的数据
[{ id: 1, name: '张三' , old: '13', num: 1 }, { id: 2,name: '李四', old: '14', num: 2 }]

1. 封装方法

//  数据处理拼接成同一条数据
function mergedArray(array) {
    const arr = []
    array.forEach(e=> {
        array.find(function(item) {
            if (e.id === item.num) {
            const obj = {...e, ...item}
            arr.push(obj)
            }
        });
    });
    return arr
}

2. 使用

const data = array1.concat(array2)
const arrayNew= mergedArray(data)
console.log(arrayNew) 
//  [{ id: 1, name: '张三' , old: '13', num: 1 }, { id: 2,name: '李四', old: '14', num: 2 }]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。