Javascript 如何比较具有相同对象属性的两个值?
我有以下两个数据:Javascript 如何比较具有相同对象属性的两个值?,javascript,arrays,json,compare,Javascript,Arrays,Json,Compare,我有以下两个数据: const data1 = [ { "Name": "Shoes", "SKU": "SKU001", "Quantity": 4 }, { "Name": "Sweater", "SKU": "SKU002", "Quanti
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
}
]
我想比较每个SKU数据1的数量与每个SKU数据2的数量(相同与否)。我怎么比较呢?你可以试试下面的方法
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]
const data1=
[
{
“名称”:“鞋子”,
“SKU”:“SKU001”,
“数量”:4
},
{
“姓名”:“毛衣”,
“SKU”:“SKU002”,
“数量”:2
}
]
常数数据2=
[
{
“DN”:“DN0001”,
“SKU”:“SKU001”,
“数量”:4
},
{
“DN”:“DN0002”,
“SKU”:“SKU002”,
“数量”:4
}
]
让result=data1.map(d1=>data2.find(d2=>d2.SKU==d1.SKU)?.Quantity==d1.Quantity);
控制台日志(结果)代码>预期输出是什么?预期输出:数据1的SKU001数量===数据2的SKU001数量(真);数据1的SKU002数量===数据2的SKU002数量(false)您的意思是要比较在SKU
属性中具有相同值的每个对象中Quantity
属性的值吗?如果是这样,那么想要的结果究竟是什么?一个简单的布尔数组,或者一个包含更多信息的对象?一个接一个地使用特定的引用,或者一次全部使用?是的。这就是我的意思。简单的布尔数组就可以了