#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. Хотя этот код может ответить на вопрос, предоставление дополнительного контекста относительно того, как и / или почему он решает проблему, улучшит долгосрочную ценность ответа.