как превратить массив в массив объектов - PullRequest
0 голосов
/ 12 марта 2019

Я работаю с массивом слов, например:

const words = ["hello", "world", "how", "are", "you"]

Как я могу преобразовать это в массив объектов:

const words1 = [ {0: "hello"}, {1: "world"},; {2: "how"}, {3: "are"}, {4: "you"} ]

Ответы [ 3 ]

2 голосов
/ 12 марта 2019

Вы можете использовать карту

const words = ["hello", "world", "how", "are", "you"]

let op = words.map((value,key) => ({[key]: value}))

console.log(op)
0 голосов
/ 12 марта 2019

Вот, пожалуйста.Запустите код, и вы увидите распечатанный результат.

ПРИМЕЧАНИЕ: Это будет работать в старых браузерах и версиях JS.Решения с {[index]: ...} не будут.

const words = ["hello", "world", "how", "are", "you"];
var obj;
for( let i=0; i < words.length; i++ )
{
  obj = {};
  obj[i] = words[i]
  words[i] = obj;
}
document.write( JSON.stringify( words ) );
0 голосов
/ 12 марта 2019

Используйте map и верните объект, ключ которого равен index, и его значением будет каждый элемент из исходного массива

const words = ["hello", "world", "how", "are", "you"];
let result = words.map(function(item, index) {
  return {
    [index]: item
  }
});

console.log(result)

Если вы пытаетесь использовать обычный цикл for, создайте пустой массив и добавьте в него объект.Обратите внимание, как i находится внутри []

const words = ["hello", "world", "how", "are", "you"];

let newArray = [];

for (let i = 0; i < words.length; i++) {
  newArray.push({
    [i]: words[i]
  })

}

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