繁体   English   中英

如何从 javascript 中的 object 数组中提取特定属性(即键/值)?

[英]how to extract particular property(i.e key/value) from array of object in javascript?

我有下面的 object 数组。

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"}]

现在我更改 id 111 和 112 的价格属性。现在更新的 object 数组看起来像

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"}]

现在我想提取 object 数组形式的唯一特定属性,以获取值已更改的特定键。 看起来像这样的东西,想传入 function 称为 handleUpdate

所以,我想将 object 的数组转换为以下格式 const modifiedObj = [{actualPrice: 600, price: "650"}, {actualPrice: 700, price: "440"}]

handleUpdate(modifiedObj);

请参阅以下链接。 我认为它会给你一个更好的洞察力。 您是否尝试过Array.prototype.some() -> 如果您需要找到任何满足提供的测试 function 的元素。

处理数组对象

或者

您可以参考以下代码:

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)

 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);

试试这个。 此代码将创建一个新的对象数组modifiedObj ,其中仅包含实际价格和价格。

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}))

Output 将采用这种格式

[{actualPrice: 600, price: "650"}, {actualPrice: 700, price: "440"}, {actualPrice: 800, price: "450"}, {actualPrice: 600, price: "450"}]

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM