如何在 Javascript 中将数组转换为对象

How I can convert array to object in Javascript

我正在尝试在 Javascript 中转换一个数组

A=['"age":"20"','"name":"John"','"email":"john@email.com"'];

反对

O={"age":"20","name":"John","email":"john@email.com"}.

我该怎么做。 谢谢

应该是直截了当的,只是在冒号上迭代和拆分

var A = ['"age":"20"','"name":"John"','"email":"john@email.com"'];

var O = {};

A.forEach(function(item) {
    var parts = item.split(':').map(function(x) { return x.trim().replace(/\"/g,'') });
    
    O[parts[0]] = parts[1];
});

document.body.innerHTML = '<pre>' + JSON.stringify(O, null, 4) + '</pre>';

由于引用了键,您可以利用 JSON.parse。你可以把数组做成一个字符串,用大括号括起来,然后解析它。

var A = ['"age":"20"', '"name":"John"', '"email":"john@email.com"'];

var temp = "{" + A.toString() + "}";
var theObj = JSON.parse(temp);
console.log(theObj);

试试这个:

const A = ['"age":"20"', '"name":"John"', '"email":"john@email.com"'];
const result = A.reduce((res, i) => {
    let s = i.split(':');
    return {...res, [s[0]]: s[1].trim().replace(/\"/g, '')};
}, {});
console.log(result);