Можно ли так задать массив объектов?

Рейтинг: 0Ответов: 1Опубликовано: 12.08.2023

Не сильно понимаю, как создаётся массив объектов obj. Может кто-то объяснить? Для меня, как для новичка, это выглядит будто мы сначала создали массив obj, а потом просто превратили его в объект

const getNameAndSurname = users.map((element) => {
  let obj = []
  obj = {
    name: element.name,
    surname: element.surn
  }
  return obj
})

Ответы

▲ 0

Метод map() позволяет выполнить функцию для каждого элемента массива, а результаты выполнения возвращаются в виде нового массива.
Специально создавать массив с результатами не нужно, внутри функции обрабатывается один элемент массива.

В твоём примере: если users уже массив пользователей, то:

const getNameAndSurname = users.map((element) => {
  return {
    name: element.name,
    surname: element.surn
  }
});

в результате переменная getNameAndSurname - будет массивом объектов, каждый из которых будет иметь поля name и surname

Если дополнительных действий в функции не нужно, то return тоже можно не писать, чтоб код выглядел лаконичнее:

const getNameAndSurname = users.map((element) => ({
    name: element.name,
    surname: element.surn
}));