我想将两个基于itemId
的对象数组合并为一个只有一些特定键的对象array.
我设法合并了它,但它包含了来自两个对象数组的所有键.我只想要orderId
、name
和itemName
的.
const arrOrder = [
{ orderId: 1, userId: 1, name: "Zack", itemId: 100 },
{ orderId: 2, userId: 2, name: "Robin", itemId: 200 }
];
const arrItem = [
{ itemId: 100, itemName: "Fruits", itemDescription: "Apple and Oranges" },
{ itemId: 200, itemName: "Snacks", itemDescription: "Potato Chips and Nuts" }
];
const mergedArray = arrOrder.map((order) => {
const matchedObject = arrItem.find((item) => item.itemId === order.itemId);
return { ...order, ...matchedObject };
});
console.log(mergedArray);
我想要的结果是:
[{
orderId: 1,
name: 'Zack',
itemName: 'Fruits'
}, {
orderId: 2,
name: 'Robin',
itemName: 'Snacks'
}]
我可以更改哪行代码,以使合并的对象数组只包含我想要的键?
我试过这样做,但无济于事.
const mergedArray = arrOrder.map((order) => {
const matchedObject = arrItem.find((item) => item.itemId === order.itemId);
return { order.id, order.name, matchedObject.itemName };
});