JavaScript в массив словаря не работает должным образом? - PullRequest
0 голосов
/ 14 октября 2018

Я хочу отобразить массив сценариев Java в словарь:

let myArray=['first','second','third'];

Ожидаемый вывод

result={first:1,second:1,third}

Фактический вывод

result=[{element:1}, {element:1}, {element:1}]

Код:

let myArray=['first','second','third'];

let result=myArray.map(element=>{

    return {element:1}

})

Ответы [ 4 ]

0 голосов
/ 14 октября 2018

Почему бы не просто цикл for?

  const result = {};
  for(const key of myArray)
    result[key] = 1;
0 голосов
/ 14 октября 2018

Это можно сделать с помощью Object.assign и синтаксиса распространения.

let myArray=['first','second','third'];
let obj = Object.assign({}, ...myArray.map(key => ({[key]: 1})));
console.log(obj)
0 голосов
/ 14 октября 2018
   let myArray=['first','second','third'];

   let result=myArray.reduce((obj, element)=>{ 

    return {...obj, [element]:1}
 }, {})

Редуктор будет постепенно добавлять ваш новый ключ.Синтаксис ключа массива использует значение элемента в качестве нового ключа

0 голосов
/ 14 октября 2018

let myArray=['first','second','third'];

let result = myArray.reduce((agg, ele) => {
   agg[ele] = 1;
   return agg;
}, {});

console.log(result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...