简体   繁体   English

如何比较具有相同对象属性的两个值?

[英]How to compare two value that has same property of objects?

I have two data below:我有以下两个数据:

const data1 = 
[
  {
    "Name": "Shoes",
    "SKU": "SKU001",
    "Quantity": 4
  },
  {
    "Name": "Sweater",
    "SKU": "SKU002",
    "Quantity": 2
  }
]
const data2 =
[
  {
    "DN": "DN0001",
    "SKU": "SKU001",
    "Quantity": 4
  },
  {
    "DN": "DN0002",
    "SKU": "SKU002",
    "Quantity": 4
  }
]

I want to compare the quantity of each SKU data1 with the quantity of each SKU data2 ( the same or not).我想比较每个 SKU data1 的数量和每个 SKU data2 的数量(相同与否)。 How I can compare that?我怎么能比较呢?

 const data1 = [ { "Name": "Shoes", "SKU": "SKU001", "Quantity": 4 }, { "Name": "Sweater", "SKU": "SKU002", "Quantity": 2 } ] const data2 = [ { "DN": "DN0001", "SKU": "SKU001", "Quantity": 4 }, { "DN": "DN0002", "SKU": "SKU002", "Quantity": 4 } ] let result = data1.map(d1 => data2.find(d2 => d2.SKU === d1.SKU)?.Quantity === d1.Quantity); console.log(result);

You can try like below您可以尝试如下

const data1 =
    [
        {
            "Name": "Shoes",
            "SKU": "SKU002",
            "Quantity": 4
        },
        {
            "Name": "Sweater",
            "SKU": "SKU002",
            "Quantity": 2
        }
    ]
const data2 =
    [
        {
            "DN": "DN0001",
            "SKU": "SKU001",
            "Quantity": 4
        },
        {
            "DN": "DN0002",
            "SKU": "SKU002",
            "Quantity": 4
        }
    ]

const result = data1.map((list) => {
    const hasItem = data2.find((data) => data.SKU === list.SKU);
    if (hasItem) {
        return hasItem.Quantity === list.Quantity;
    } else {
        return false
    }

})

console.log('res', result); // [true, false] 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何获取具有相同属性的对象并在数组中具有最大值 - Javascript - how to get objects with the same property and has the max value in array - Javascript 比较两个对象数组并删除第二个对象数组中具有相同属性值的项目 - Compare two arrays of objects and remove items in the second one that have the same property value 如何比较两个不同对象的属性并对其进行操作? - How to compare property in two different objects and operate on it? 如何比较数组的多个对象中的属性值? - How to compare a property value in multiple objects of an array? 比较每个属性和值的两个不同对象之间的最高值 - Compare the highest value between two different objects for each property and value 合并两个对象数组,跳过具有相同ID属性的对象 - Merge two array of objects with skipping objects that has same ID property 比较对象数组中的属性值 - Compare property value in an array of objects 如何过滤对象数组并检查数组内是否有多个 object 在 Javascript 中具有相同的属性值? - How to filter array of objects and check if more than one object inside the array has the same property value in Javascript? 如何比较两个对象 - How to compare two objects 如何在NodeJS中对具有相同属性值的对象进行分组? - How to group objects with the same property value in NodeJS?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM