繁体   English   中英

如何过滤数组中的多个项目并添加到 object?

[英]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',
    },
];

如何过滤掉所有nameday_supply并将它们设置为键和值对到具有此类对象的数组中?

myArr = [
    {
        name: 'Amoxicillin',
        value: '10'
    },
    {
        name: 'Lipitor',
        value: '30'
    },
    {
        name: 'Celebrix,
        value: '30'
    }
];

您可以使用Array.map处理每个 object,只返回nameday_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.

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