【问题标题】:Convert Array of Object to Regular JavaScript Object将对象数组转换为常规 JavaScript 对象
【发布时间】:2015-05-10 04:37:58
【问题描述】:

我有以下数组对象

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}
];

【问题讨论】:

标签: javascript json


【解决方案1】:

Array.prototype.map 是你需要的:

stats = stats.map(function(x) {
    return { x: x[0], y: x[1], k: x[2] };
});

您描述的所需输出不是 JSON,而是常规 JavaScript 对象;如果是 JSON,则键名将用引号引起来。当然,您可以使用 JSON.stringify 将 JavaScript 对象转换为 JSON。

【讨论】:

    【解决方案2】:

    您可以使用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);
    

    【讨论】:

    • 非常感谢 jdphenix,您的回答也正确,我已投赞成票。由于 Ethan 先回答,所以我标记了他的回答。
    猜你喜欢
    • 2017-01-14
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 2021-01-15
    • 2021-06-19
    • 2017-11-13
    相关资源
    最近更新 更多