gpt4 book ai didi

javascript - D3 : use . map() 重新排列数据数组

转载 作者:行者123 更新时间:2023-11-28 19:44:21 25 4
gpt4 key购买 nike

如果我有这样的数据...

var dataset = [
{ apples: 5, oranges: 10, grapes: 22 },
{ apples: 4, oranges: 12, grapes: 28 },
{ apples: 2, oranges: 19, grapes: 32 },
{ apples: 7, oranges: 23, grapes: 35 },
{ apples: 23, oranges: 17, grapes: 43 }
];

如何使用 .map() 方法重新排列数据,使其成为数组的数组,每个数组代表一个类别(苹果、橙子、葡萄),并且该数组中的每个对象都是数据。 x 是 ID 标记。

var dataset = [
[
{ x: 0, y: 5 },
{ x: 1, y: 4 },
{ x: 2, y: 2 },
{ x: 3, y: 7 },
{ x: 4, y: 23 }
],
[
{ x: 0, y: 10 },
{ x: 1, y: 12 },
{ x: 2, y: 19 },
{ x: 3, y: 23 },
{ x: 4, y: 17 }
],
[
{ x: 0, y: 22 },
{ x: 1, y: 28 },
{ x: 2, y: 32 },
{ x: 3, y: 35 },
{ x: 4, y: 43 }
]

];

最佳答案

实现此目的的一种方法是对于每个键(水果),使用 map 为该水果创建所有对象:

newDataset = ["apples", "oranges", "grapes"].map(function(n){
return dataset.map(function(d, i){
return { x: i, y: d[n] };
});
});

注意,传递给map的匿名函数中的idataset数组的索引,因此可以用作ID。

关于javascript - D3 : use . map() 重新排列数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24539832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com