我正在尝试使用Javascript转换数组
A=['"age":"20"','"name":"John"','"email":"john@email.com"'];
对象
O={"age":"20","name":"John","email":"john@email.com"}.
我怎么做到这一点。 感谢
答案 0 :(得分:1)
由于引用了密钥,您可以利用JSON.parse
。您可以将数组设为字符串,用大括号括起来并解析它。
var A = ['"age":"20"', '"name":"John"', '"email":"john@email.com"'];
var temp = "{" + A.toString() + "}";
var theObj = JSON.parse(temp);
console.log(theObj);
答案 1 :(得分:0)
应该是直接的,只需在冒号上进行迭代和拆分
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>';
答案 2 :(得分:0)
尝试一下:
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);