如何将带有对象的数组推入数组

问题描述 投票:0回答:5

我是新手,所以我的问题听起来很愚蠢。

我有一个包含多个对象的数组,但我不确定如何将每个对象的键名推入数组。

这是我的代码:

var ingredients = [
    { id: 1, name: "onion", mineralsUnit: "mg", water: 89.11 },
    { id: 2, name: "carrot", calcium: 23, iron: 0.21, otherUnit: "g", water: 89.11 },
    { id: 3, name: "peanut", iron: 0.21, otherUnit: "g", water: 89.11 }
];

并且我创建了一个新的空数组,我只想在第一个数组中添加名称

var myIngredients = [];

我已经尝试过:

for (var i = 0; i < ingredients.length; i++) {
    myIngredients.push(ingredients[i]);
}

但是它返回整个数组,即使我在这里选择了成分[I]我想要选择的元素仍然无法使用。如果有人有想法,我将非常感激。非常感谢。

javascript arrays for-loop
5个回答
0
投票

请不要忘记花生后的逗号!

var myIngredients = [];

ingredients.forEach(
  ingredient =>
  myIngredients.push(ingredient.name)
)

console.log(myIngredients)

1
投票

使用es6,您可以使用map

尝试myIngredients = ingredients.map(ingredient => ingredients.name)


0
投票

你非常亲密。这将推送name数组中每个对象的ingredients

  for (var i = 0; i < ingredients.length; i++) {
  myIngredients.push(ingredients[i].name);
}

0
投票

您可以使用map功能:

map

-1
投票

非常感谢你们,伙计们!我真的很感激!

© www.soinside.com 2019 - 2024. All rights reserved.