kleinBlue. 2021-09-18 01:38
浏览 32
已结题

微信小程序 JS 判断两个对象中指定数据是否相等,并以对象的形式存储到一个数组中(数组对象)



```javascript
let oldData = [
{ id: 1, price: 100, skuid: 233 },
{ id: 2, price: 200, skuid: 2311 },
{ id: 3, price: 300, skuid: 312 },
{ id: 4, price: 180, skuid: 23342 }
]

let newData = [
{ price: 136, skuid: 312 },
{ price: 195, skuid: 233 },
{ price: 155, skuid: 2311 }
]

let priceChange = []

一  双for循环判断

for (let i = 0; i < newData.length; i++) {
     for (let j = 0; j < oldData.length; j++) {
         if(newData[i].skuid == oldData[j].skuid){
            priceChange.push({
                'id':oldData[j].id,
                'price':newData[i].price,
                'skuid':newData[i].skuid
            })
         }
     }
 }
 console.log(priceChange);

输出

img


二  obj.filter(),返回一符合要求的数组

for (let i in oldData) {
    let old_skuid = oldData[i].skuid
    if (i != oldData.length - 1) {
        let res = newData.filter(item => {
            return item.skuid == old_skuid
        })
        priceChange.push({
            'skuid':res[0].skuid,
            'price':res[0].price
        })
    }
}
console.log('priceChange',priceChange);

输出

img

展开全部

  • 写回答

0条回答 默认 最新

      编辑
      预览

      报告相同问题?

      问题事件

      • 系统已结题 9月25日
      • 创建了问题 9月18日
      手机看
      程序员都在用的中文IT技术交流社区

      程序员都在用的中文IT技术交流社区

      专业的中文 IT 技术社区,与千万技术人共成长

      专业的中文 IT 技术社区,与千万技术人共成长

      关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

      关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

      客服 返回
      顶部