преобразовать массив в объект, вывод должен быть таким же, как ключ и значение.
образец массива: (моя структура ввода)
var a = [1,2,3,4,5];
Мне нужна эта структура вывода:
{ '1': 1, '2': 2, '3': 3, '4': 4, '5': 5 }
Используйте Лодаша _.keyBy():
_.keyBy()
const result = _.keyBy([1, 2, 3, 4, 5]); console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
Для этого вам не нужна библиотека, просто стандартное сокращение :
let obj = [1,2,3,4,5].reduce((o,k)=>(o[k]=k,o), {})
Вы можете использовать Object.fromEntries() с Array.map():
Object.fromEntries()
Array.map()
var a = [1,2,3,4,5]; console.log( Object.fromEntries(a.map(v => [v, v])) )
Я использую уменьшить здесь
const listToObject = list => list.reduce((obj, key) => { return { ...obj, [key]:key } }, {}) console.log(listToObject([1,2,3,4,5]))
Вы можете сопоставить объекты с одинаковыми ключом и значением и назначить все объекту.
var array = [1, 2, 3, 4, 5], result = Object.assign({}, ...array.map(k => ({ [k]: k }))); console.log(result);