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

微信小程序 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月26日
      • 创建了问题 9月18日

      悬赏问题

      • ¥15 JAVA socket客户端在接受消息之后如何返回前端呢
      • ¥15 这幅db-RDA图是怎么画的?
      • ¥15 类文件具有错误的版本 61.0, 应为 52.0
      • ¥15 main函数里scanf_s("%c",&t)字符没办f法输入,断点调试时&t显示烫,求看看问题在哪?
      • ¥15 初学者学习xbeach 用matlab,缺失XBeach MATLAB Toolbox
      • ¥20 如何将tiff格式数据作为因变量,输入已建立的机器学习模型中,得到结果同样为空间tiff格式的数据
      • ¥20 编写一个脚本监听sql的运行状态并联动另一台服务器上的服务重启
      • ¥215 一年前的硬盘数据恢复
      • ¥15 htmclxx 求提供给64位windows预编译库
      • ¥15 如何用线性表实现通讯录管理功能,根据条件输出对应分类的信息