如何在 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);
我正在尝试在 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);