将对象数组转换为常规JavaScript对象

14 浏览
0 Comments

将对象数组转换为常规JavaScript对象

我有以下的数组对象:

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

0
0 Comments

问题:如何将对象数组转换为常规JavaScript对象?

原因:在给定的内容中,需要将一个对象数组转换为常规的JavaScript对象。这是因为所需的输出不是JSON格式,而是一个常规的JavaScript对象。如果是JSON格式,键名应该用引号括起来。因此,需要找到一种方法将对象数组转换为常规的JavaScript对象。

解决方法:使用Array.prototype.map方法可以解决这个问题。该方法对数组中的每个元素都执行一个提供的函数,并返回一个新的数组,其中包含回调函数的返回值。在这种情况下,可以使用map方法来遍历对象数组,并将每个元素转换为常规的JavaScript对象。下面是一个示例代码:

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

在上述代码中,stats.map方法将遍历stats数组中的每个元素。对于每个元素,回调函数将返回一个新的对象,其中包含键值对x: x[0]y: x[1]k: x[2]。最终,stats数组将被替换为新的包含常规JavaScript对象的数组。

需要注意的是,如果需要将常规JavaScript对象转换为JSON格式,可以使用JSON.stringify方法。这个方法可以将JavaScript对象转换为JSON字符串。但是在这个问题中,不需要将结果转换为JSON,而是需要一个常规JavaScript对象。

通过上述方法,就可以将对象数组转换为常规的JavaScript对象。这样就解决了从给定内容中提出的问题。

0
0 Comments

问题的出现原因是想要将一个包含对象的数组转换为普通的JavaScript对象。解决方法是使用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);

这段代码首先定义了一个包含对象的数组stats。然后,利用map()函数遍历stats数组中的每个元素,对每个元素执行回调函数。在回调函数中,将每个元素的值分别赋给新对象的属性x、y和k。最后,将转换后的结果重新赋值给stats变量,并输出到控制台。

感谢jdphenix的回答,也是正确的,我已经点赞。由于Ethan先回答,所以我标记了他的答案。

0