Как сопоставить данные, чтобы я мог использовать их для создания круговой диаграммы?

Мне было интересно, как я могу сопоставить данные из 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};

СловаArray содержат все различные слова, а вычисление Array содержит количество раз, когда появляется каждое слово.

Я хотел бы знать, есть ли какой-либо ярлык, чтобы он выглядел так:

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

Благодаря!

4
добавлено
Просмотры: 1
shortcut: напишите код для преобразования этих данных
добавлено автор mkoryak, источник

2 ответы

Вы ищете функцию zip в d3:

d3.zip(wordsArray, computationArray).map(function(e) {
    return { words: e[0], count: e[1] };
});
2
добавлено
Благодаря! оно работает!
добавлено автор You Hock Tan, источник

shortcut is called underscore.js

npm установить подчеркивание

используя этот прекрасный lib вы можете сделать:

var data = _.map(_.zip(wordsArray, computationArray), function(v){
   return {words: v[0], count: v[1]};
});
1
добавлено