将对象数组转换为常规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);