如何从数组中过滤多个项目并添加到对象中?
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
来处理每个对象,仅返回 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.fromEntries
.
生成该对象
取下面的数组:
[
{
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
来处理每个对象,仅返回 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.fromEntries
.