[英]How do I filter multiple items from an array and add to an object?
取以下数组:
[
{
ndc: '0093415580',
name: 'Amoxicillin',
prescribing_physician: 'John Doe',
quantity: 150,
day_supply: 10,
pharmacy: 'Walmart',
source: 'Auto',
},
{
ndc: '499990882',
name: 'Lipitor',
prescribing_physician: 'John Doe',
quantity: 10,
day_supply: 30,
pharmacy: 'CVS Health',
source: 'Auto',
},
{
ndc: '5528947530',
name: 'Celebrix',
prescribing_physician: 'John Doe',
quantity: 25,
day_supply: 30,
pharmacy: 'CVS Health',
source: 'Manual',
},
];
如何过滤掉所有name
和day_supply
并将它们设置为键和值对到具有此类对象的数组中?
myArr = [
{
name: 'Amoxicillin',
value: '10'
},
{
name: 'Lipitor',
value: '30'
},
{
name: 'Celebrix,
value: '30'
}
];
您可以使用Array.map
处理每个 object,只返回name
和day_supply
(作为value
)值:
const data = [{ ndc: '0093415580', name: 'Amoxicillin', prescribing_physician: 'John Doe', quantity: 150, day_supply: 10, pharmacy: 'Walmart', source: 'Auto', }, { ndc: '499990882', name: 'Lipitor', prescribing_physician: 'John Doe', quantity: 10, day_supply: 30, pharmacy: 'CVS Health', source: 'Auto', }, { ndc: '5528947530', name: 'Celebrix', prescribing_physician: 'John Doe', quantity: 25, day_supply: 30, pharmacy: 'CVS Health', source: 'Manual', }, ]; const myArr = data.map(({ name, day_supply }) => ({ name, value: day_supply })); console.log(myArr); const myObj = Object.fromEntries(data.map(({ name, day_supply }) => [name, day_supply])); console.log(myObj);
请注意,您可能会发现将name
值作为属性的 object 更有用,上面的片段显示了如何使用Object.fromEntries
生成它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.