Вопрос:

Можете ли вы заполнить ключи объекта непосредственно из массива в Javascript?

javascript

20 просмотра

2 ответа

1524 Репутация автора

Можно ли напрямую заполнить ключи объекта из массива в Javascript?

Что-то вроде

var a = ["a", "b", "c"];
var b = {}

b[a] = [1, 2, 3];

// {a:1, b:2, c:3}

Другими словами, противоположность

Object.assign({}, ['a','b','c']); 
// {0:"a", 1:"b", 2:"c"}

Я знаю, что могу сделать это через карту и назначить, но напрямую?

Автор: simone Источник Размещён: 25.04.2019 09:50

Ответы (2)


0 плюса

24806 Репутация автора

Вы можете использовать Array.reduce () для преобразования массива в карту объектов, где каждому значению присваивается индекс массива.

const obj = ["a","b","c"].reduce((x,y,i)=> ({...x,[i]:y}),{});
console.log(obj);

Не существует встроенного способа (например, функции zip), о котором я знаю.

Автор: cgTag Размещён: 25.04.2019 09:53

0 плюса

67872 Репутация автора

 Object.fromEntries(a.map((el, i) => [el, i]))
Автор: Jonas Wilms Размещён: 25.04.2019 09:55
Вопросы из категории :
32x32