0

我的问题对我来说似乎很简单,以至于我无法弄清楚为什么我无法在网上找到答案。如果这已经被回答了一千次,真的很抱歉,也许我只是措辞不正确。

我正在使用 d3.js 中的 json 格式数据。

dataset = [
    {"category":"Fiction", "popularity":20},
    {"category":"Thriller", "popularity":45},
    {"category":"Romance", "popularity":12}
];

据我所知,一些 d3.js 函数需要一个简单的数组。

示例 1:对于条形图,我d3.scale.ordinal().domain(data)需要一个包含 ["Fiction", "Thriller", "Romance"] 的数组

示例 2:对于饼图,d3.layout.pie(data)函数需要一个 [20,45,12] 的数组

这些函数迫使我通过 simple 将“类别”或“流行度”中的所有值提取到一维数组中for loop,这似乎很愚蠢。

有没有更优雅、更快捷的解决方案来从 json 中提取具有一个变量值的数组?

非常感谢你的帮助!泽维尔

4

1 回答 1

3

利用

var category = dataset.map( function( obj ) { return obj.category; } );
var popularity = dataset.map( function( obj ) { return obj.popularity; } );

类别和流行度数组将包含您需要的值。

但是,for 循环可能是更快的实现。

于 2013-06-10T12:09:03.923 回答