我有下面的对象数组。
data1 = [{id: 111, option: "ONE", actualPrice: 600, price: "450"}, {id: 112, option: "TWO", actualPrice: 700, price: "850"}, {id: 113, option: "THREE", actualPrice: 800, price: "450"}, {id: 111, option: "ONE", actualPrice: 600, price: "450"}]
现在我更改ID111和112的price属性。 现在更新的对象数组看起来像
data1 = [{id: 111, option: "ONE", actualPrice: 600, price: "650"}, {id: 112, option: "TWO", actualPrice: 700, price: "440"}, {id: 113, option: "THREE", actualPrice: 800, price: "450"}, {id: 111, option: "ONE", actualPrice: 600, price: "450"}]
现在,我想提取唯一的特定属性,以对象数组的形式表示,特定键的值被改变了。 一些类似于下面的内容,并希望传入名为handleUpdate的函数
因此,我希望object数组变为以下格式const modifiedObj=[{actualPrice:600,Price:“650”},{actualPrice:700,Price:“440”}]
handleUpdate(modifiedObj);
null
const data1 = [{id: 111, option: "ONE", actualPrice: 600, price: "450"}, {id: 112, option: "TWO", actualPrice: 700, price: "850"}, {id: 113, option: "THREE", actualPrice: 800, price: "450"}, {id: 111, option: "ONE", actualPrice: 600, price: "450"}]
const data2 = [{id: 111, option: "ONE", actualPrice: 600, price: "650"}, {id: 112, option: "TWO", actualPrice: 700, price: "440"}, {id: 113, option: "THREE", actualPrice: 800, price: "450"}, {id: 111, option: "ONE", actualPrice: 600, price: "450"}]
let modifiedObj = [];
for(let i=0;i<data1.length;i++){
if(data1[i].price!==data2[i].price){
modifiedObj.push({actualPrice: data1[i].actualPrice, price:data2[i].price});
}
}
console.log(modifiedObj);
请参阅以下链接。 我想这会让你有更好的了解。 您是否尝试过array.prototype.some()
->; 如果您需要找到满足所提供的测试功能的任何元素。
处理数组对象
或
您可以参考以下代码:
let res = []
data1.forEach(i => {if(data1[i].price != data2[i].price)}
{
res.push({actualPrice: data[i].actualPrice,
price:data2[i].price})
})
console.log(res)
试试这个。 这段代码将创建一个新的对象数组modifiedobj
,其中只有actualPrice和price。
const data1 = [{id: 111, option: "ONE", actualPrice: 600, price: "650"}, {id: 112, option: "TWO", actualPrice: 700, price: "440"}, {id: 113, option: "THREE", actualPrice: 800, price: "450"}, {id: 111, option: "ONE", actualPrice: 600, price: "450"}]
const modifiedObj = data1.map(({actualPrice, price}) => ({actualPrice, price}))
输出将采用此格式
[{actualPrice: 600, price: "650"}, {actualPrice: 700, price: "440"}, {actualPrice: 800, price: "450"}, {actualPrice: 600, price: "450"}]