将对象数组转换为常规JavaScript对象
我有以下数组对象将对象数组转换为常规JavaScript对象,javascript,json,Javascript,Json,我有以下数组对象 var stats = [ [0, 200,400], [100, 300,900],[220, 400,1000],[300, 500,1500],[400, 800,1700],[600, 1200,1800],[800, 1600,3000] ]; 我想知道如何将其转换为以下JavaScript对象 var stats = [ {x:0, y:200,k:400}, {x:100, y:300,k:900},{x:220, y:400,k:1000},{
var stats = [
[0, 200,400], [100, 300,900],[220, 400,1000],[300, 500,1500],[400, 800,1700],[600, 1200,1800],[800, 1600,3000]
];
我想知道如何将其转换为以下JavaScript对象
var stats = [
{x:0, y:200,k:400}, {x:100, y:300,k:900},{x:220, y:400,k:1000},{x:300, y:500,k:1500},{x:400, y:800,k:1700},{x:600, y:1200,k:1800},{x:800, y:1600,k:3000}
];
这是您需要的:
stats = stats.map(function(x) {
return { x: x[0], y: x[1], k: x[2] };
});
您所描述的期望输出不是JSON,而是一个常规JavaScript对象;如果是JSON,则键名将用引号括起来。当然,您可以使用JSON将JavaScript对象转换为JSON。stringify
您可以使用map()
非常感谢,菲尼克斯,你的答案也是正确的,我投了赞成票。因为伊森先回答了,所以我在他的答案上做了标记。注意。
var stats = [
[0, 200,400], [100, 300,900],[220, 400,1000],[300, 500,1500],[400, 800,1700],[600, 1200,1800],[800, 1600,3000]
];
stats = stats.map(function(el) {
return {
x: el[0],
y: el[1],
k: el[2]
};
});
console.log(stats);