преобразование массива javascipt в объект

#javascript #node.js #puppeteer #apify

#javascript #node.js #кукловод #apify

Вопрос:

в javascript, как я могу преобразовать вложенный массив в объект, например, у меня есть этот массив :

 let Input_Array=[[key1,value1],[key2,value2],[key3,value3]]

//The output Object , should be like this : 

let Output_Object ={
    key1 : value1,
    key2 : value2,
    key3 : value3,
}  

Я думаю, что у нас не будет проблем со значениями, потому что мы можем просто скопировать их по индексу с помощью input_Array[i][1] .
Проблема в ключах, потому что, если у нас есть ключ ===строка, мы должны следовать шаблону объектной переменной .

если вы знаете, как это сделать, или есть библиотека для этого, это лучше.

Ответ №1:

Используется Object.fromEntries() для преобразования 2d-массива в объект.

 let Input_Array = [
  ['key1', 'value1'],
  ['key2', 'value2'],
  ['key3', 'value3']
]

let Output_Object = Object.fromEntries(Input_Array);

console.log(Output_Object);  

Ответ №2:

вы должны использовать обозначение в скобках

может быть, это поможет

 const array = [["name", "john"],["age", 22]];
let object = {};

array.forEach((value) => {
  object[value[0]] = value[1];
})

console.log(object)  

Ответ №3:

Вы можете использовать метод reduce, чтобы преобразовать ваш массив в требуемый объект:

 const Input_Array = [['key1','value1'],['key2','value2'],['key3','value3']];


const result = Input_Array.reduce((a,c) => ({...a, [c[0]]: c[1] }), {});

console.log(result);  

Ответ №4:

Инициализируйте новый объект, затем выполните итерацию по входному массиву и явно вставьте значения в объект.

 var Input_Array=[["key1","value1"],["key2",2],[3,"value3"]];

var Output_Object = {};

for (var i = 0; i < Input_Array.length; i = i   1) {
  Output_Object[Input_Array[i][0]] = Input_Array[i][1];
}

console.log(Output_Object);  

Ответ №5:

 const Input_Array = [["key1", "value1"],["key2", "value2"],["key3", "value3"]];
const Output_Object = Input_Array.map((elem) => ({[elem[0]]: elem[1]}));
console.log(Output_Object);  

Комментарии:

1. Хотя этот код может ответить на вопрос, предоставление дополнительного контекста относительно того, как и / или почему он решает проблему, улучшит долгосрочную ценность ответа.