4

データを使用してd3.jsを使用してグラフを生成できるように、2つの配列のデータをどのようにマッピングできるか疑問に思っていました

現在、私は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};

wordsArray にはすべての個別の単語が含まれており、computerArray には各単語の出現回数が含まれています。

次のようにするためのショートカットがあるかどうかを知りたいです。

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

ありがとう!

4

2 に答える 2

2

探しているのは、d3 のzip関数です。

d3.zip(wordsArray, computationArray).map(function(e) {
    return { words: e[0], count: e[1] };
});
于 2012-12-28T03:36:10.717 に答える
1

ショートカットはunderscore.jsと呼ばれます

npm install アンダースコア

その細かいライブラリを使用して、次のことができます。

var data = _.map(_.zip(wordsArray, computationArray), function(v){
   return {words: v[0], count: v[1]};
});
于 2012-12-28T03:31:44.403 に答える