Top.Mail.Ru
Ответы
Аватар пользователя
4 месяца назад
от

Js. Как элементы массива преобразовать в объекты?

m=[...'ABC'].map((x,y)=>{return {x:y}});
Делаю так, но имена ключей теряются.
Надо [{'A':0},{'B':1},{'C':2}], а получается [{x:0},{x:1},{x:2}]

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок
4мес
1
 m = [...'ABC'].map((x, y) => {return {[x]: y}}); 

На месте x в квадратных скобках может быть любое выражение.

Аватар пользователя
Оракул
3мес
1
 const m = [...'ABC'].map((char, index) => ({ [char]: index })); 
Аватар пользователя
Мыслитель
4мес

Несколько способов преобразовать элементы массива в объекты в JavaScript:

Использование цикла for. Нужно объявить переменную с пустым объектом и на каждой итерации добавлять элемент в качестве пары ключ-значение к объекту.
Применение метода Object.assign(). Он копирует значения свойств из одного или нескольких исходных объектов в целевой. Целевой объект указывают пустым, а значения свойств берут из массива. Поскольку самих свойств в массиве нет, они будут заменены порядковыми номерами элементов.
Использование спред-оператора. В новый объект скопируются значения массива, свойствами которых будут их индексы.
Применение метода reduce(). Метод применяется для перебора массива и совершения операций с его элементами. Передавая ему объект в качестве первого параметра, на каждой итерации можно расширять объект очередной парой ключ-значение и возвращать его.
Использование метода Object.fromEntries(). Этот метод создаёт объект с ключами и их значениями согласно данным массива. Каждый элемент массива должен быть массивом из двух элементов, которые и преобразуются в пару ключ-значение.