Node.js 如何映射数据,以便生成饼图?

Node.js 如何映射数据,以便生成饼图?,node.js,express,d3.js,Node.js,Express,D3.js,我想知道如何映射2个数组的数据,以便使用d3.js生成图表 当前我有2个阵列: wordsArray = {"THE","MAIN","PURPOSE","OF","PHOTOSYNTHESIS","IS","TO","MAKE", "FOOD","FOR","PLANT","IT","PRODUCE","SUGAR","MANUFACTURE"}; computationArray = {6,1,2,2,1,3,3,1,3,4,4,2,1,2,1}; 单词数组包含所

我想知道如何映射2个数组的数据,以便使用d3.js生成图表

当前我有2个阵列:

wordsArray = {"THE","MAIN","PURPOSE","OF","PHOTOSYNTHESIS","IS","TO","MAKE",
             "FOOD","FOR","PLANT","IT","PRODUCE","SUGAR","MANUFACTURE"};
computationArray = {6,1,2,2,1,3,3,1,3,4,4,2,1,2,1};
单词数组包含所有不同的单词,计算数组包含每个单词出现的次数

我想知道有没有什么捷径可以让它看起来像这样:

var data = [{"words":"THE", "count": "6"}, 
{"words":"MAIN", "count": "1"}, {"words":"PURPOSE", "count": "2"}, 
{"words":"OF", "count": "2"}.... ];
谢谢

调用快捷方式

npm安装下划线

使用该精细库,您可以执行以下操作:

var data = _.map(_.zip(wordsArray, computationArray), function(v){
   return {words: v[0], count: v[1]};
});

您需要的是d3中的函数:

d3.zip(wordsArray,computationArray).map(函数(e){
返回{words:e[0],count:e[1]};
});

快捷方式:编写一些代码来转换此数据