【js两个数组对象根据属性相同的值合并】

本文介绍如何使用JavaScript将两个数组对象a和b按uid属性合并,同时保留name属性并新增address属性,实现预期效果const c。通过map和find方法实现在不改变原始数组的前提下完成对象合并。
摘要由CSDN通过智能技术生成

js两个数组对象根据属性相同的值合并

数组对象

const a=[{
				    uid: 1,
				    name: '黄鹤楼'
				},{
				    uid: 2,
				    name: '鹳雀楼'
				},{
				    uid: 3,
				    name: '岳阳楼'
				},{
				    uid: 4,
				    name: '滕王阁'
				}]
				const b=[{
				    uid: 1,
				    address: '湖北武汉黄鹤楼'
				},{
				    uid: 2,
				    address: '山西运城鹳雀楼'
				},{
				    uid: 3,
				    address: '湖南岳阳岳阳楼'
				},{
				    uid: 4,
				    address: '江西南昌滕王阁'
				}]
				// 期待的效果
				const c=[{
				    uid: 1,
				    name: '黄鹤楼',
				    address: '湖北武汉黄鹤楼',
				},{
				    uid: 2,
				    name: '鹳雀楼',
				    address: '山西运城鹳雀楼',
				},{
				    uid: 2,
				    name: '岳阳楼',
				    address: '湖南岳阳岳阳楼',
				},{
				    uid: 2,
				    name: '滕王阁',
				    address: '江西南昌滕王阁',
				}]

合并方法

a.map(el => {
	el.address = b.find(item => item.uid == el.uid).address
	})
console.log("变更后a:",a)

在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值