如何映射数据,以便我可以使用它来生成饼图?

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

目前我有2个arrays:

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

单词arrays包含所有不同的单词,并且计算arrays包含每个单词出现的次数。

我想知道是否有任何捷径使它看起来像这样:

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

谢谢!

你要找的是d3中的zip函数:

 d3.zip(wordsArray, computationArray).map(function(e) { return { words: e[0], count: e[1] }; }); 

快捷方式被称为underscore.js

npm安装下划线

使用这个好的lib,你可以这样做:

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