Как создать массив с объектами в массиве sh - PullRequest
0 голосов
/ 29 апреля 2020

Я новичок ie, поэтому мой вопрос может показаться глупым.

У меня есть массив с несколькими объектами, и я не уверен, как вывести sh имя ключа каждого объекта в массив.

Это мой код:

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], какой элемент я хочу выбрать, он все еще не работает. Если у кого-то есть идея, я был бы очень признателен. Большое спасибо.

Ответы [ 4 ]

3 голосов
/ 29 апреля 2020

с es6 вы можете использовать map

try myIngredients = ingredients.map(ingredient => ingredients.name)

0 голосов
/ 29 апреля 2020

Только не забудьте запятую после арахиса!

var myIngredients = [];

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

console.log(myIngredients)
0 голосов
/ 29 апреля 2020

Вы можете использовать функцию map:

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 = ingredients.map(e => e.name);

console.log(myIngredients);
0 голосов
/ 29 апреля 2020

Вы были очень близки. Это будет pu sh значение name каждого объекта в массиве ingredients

  for (var i = 0; i < ingredients.length; i++) {
  myIngredients.push(ingredients[i].name);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...