javascript 数组对象根据相同属性值{key:value}合并两个对象

前言

js 数组对象的合并,方便自己后续使用与学习,废话少说,这段代码的功能就是根据某个相同的value值合并两个数组对象
比如:根据相同的hotelId来合并


一 , 数组对象根据相同属性值合并两个对象

话不多说,直接上代码

const hotelList = [{
    hotelId:'70931',
    price:'350',
    hotelName:'如家',
    address:'西乡地铁站A口',
},{
    hotelId:'70932',
    price:'350',
    hotelName:'如家',
    address:'西乡地铁站A口', 
},{
    hotelId:'70933',
    price:'350',
    hotelName:'如家',
    address:'西乡地铁站A口',
},{
    hotelId:'70934',
    price:'350',
    hotelName:'如家',
    address:'西乡地铁站A口',
}];

const hotelList1 = [{
    hotelId:'70931',
    price:'458',
    hotelName:'如家'
},{
    hotelId:'70932',
    price:'360',
    hotelName:'速8酒店'    
},{
    hotelId:'70933',
    price:'850',
    hotelName:'7天'
},{
    hotelId:'70934',
    price:'4250',
    hotelName:'格林豪泰'
},{
    hotelId:'70935',
    price:'100',
    hotelName:'如意宾馆'
},{
    hotelId:'70936',
    price:'1350',
    hotelName:'中天美景大酒店'
}];
// 把数组hotelList1合并hotelList
      const newArr = hotelList.map(hotelItem => {
        const data = hotelList1.find(i => hotelItem.hotelId === i.hotelId)
        return {
          ...hotelItem,
          ...data,
        }
      })
 // 合并后的结果如下,正好是我想要的结果
console.log(newArr);
// (4) [{…}, {…}, {…}, {…}]
// 0: {hotelId: '70931', price: '458', hotelName: '如家', address: '西乡地铁站A口'}
// 1: {hotelId: '70932', price: '360', hotelName: '速8酒店', address: '西乡地铁站A口'}
// 2: {hotelId: '70933', price: '850', hotelName: '7天', address: '西乡地铁站A口'}
// 3: {hotelId: '70934', price: '4250', hotelName: '格林豪泰', address: '西乡地铁站A口'}
// length: 4
// [[Prototype]]: Array(0)

二 ,判断两个对象数组内的值是否相等

// 判断两个对象数组内的值是否完全相等
    let arr1 = [{ "id": 1, "name": "张三" },{"id": 33, "name": "测试name"}];
    let arr2 = [{ "id": 1, "name": "张三" }];
    var data = JSON.stringify(arr1) === JSON.stringify(arr2);
    console.log(data);  //false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值