#javascript #arrays #object
#javascript #массивы #объект
Вопрос:
Я работаю с массивом слов, например:
const words = [«привет», «мир», «как», «есть», «ты»]
Как я могу преобразовать это в массив объектов:
const words1 = [ {0: "hello"}, {1: "world"},; {2: "how"}, {3: "are"}, {4: "you"} ]
Ответ №1:
Вы можете использовать map
const words = ["hello", "world", "how", "are", "you"]
let op = words.map((value,key) => ({[key]: value}))
console.log(op)
Ответ №2:
Поехали. Запустите код, и вы увидите распечатанный результат, который вы ищете.
ПРИМЕЧАНИЕ: Это будет работать в старых браузерах и версиях 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 ) );
Ответ №3:
Используйте 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)