Рассчитать процент в многомерных массивах - PullRequest
0 голосов
/ 02 августа 2011

В моем Javascript Многомерных массивах хранятся 3 значения: ИМЯ, КРУГЛЫЙ, Количество голосов

Пример данных:

NAME | ROUND | Количество голосов

Эван | 1 | 2

Джон | 1 | 1

Мэри | 1 | 3

Эван | 2 | 4

Джон | 2 | 1

Я хочу отобразить результаты голосования на экране в процентах (на основе раунда), просто так:

КРУГЛЫЙ 1

Эван - 2 голоса (33,3%)

Джон - 1 голос (16,7%)

Мэри - 3 голоса (50%)

КРУГЛЫЙ 2

Эван - 4 голоса (80%)

Джон - 1 голос (20%)

Спасибо, Джо

Ниже приведен мой код JavaScript:.

function rpt_result(){
var temp = '';
var l_temp = '';
var html = '';
var num = obj('remain').value;
var total = 0;
var tmp_round = 0;
html += '<html>';
html += '<head><title>Voting Result</title>';
html += '</head>';
html += '<body>';
html += '<table width="760" align="center"><tr><td align="center"><h2>' + obj('ta_title').value + '</h2></td></tr>';
html += '<tr><td>&nbsp;</td></tr>';
html += '<tr><td align="center">Each Round Results</td>';
html += '</table>';
html += '<div id="button" style="width:760px;margin-top:20px;margin-bottom:20px;"><input type="button" value="Print" onmouseup="window.print()" style="float:right;" /></div>';
html += '<table width="760" align="center" border="0">';
html += '<tr>'
html += '<td><b><u>Winner:</b></u></td>';
html += '</tr>';
html += '<tr><td>';
for (i = 0; i < winnerArray.length; i++) {
    temp = winnerArray[i].split('|', 3);
    vote = temp[0];
    name = temp[1];
    round = temp[2];
    html += '(The' + num2Chi(round) + 'Round) ' + name + ' ' + vote + 'Votes' + '<br />'; 
}
html += '</td></tr>';
html += '<tr><td>&nbsp;</td></tr>';
html += '<tr>'
html += '<td><b><u>Detail Voting Result:</b></u></td>';
html += '</tr>';
html += '<tr><td>';

for (i = 0; i < wholeArray.length; i++) {
    w_temp = wholeArray[i].split('|', 4);
    w_vote = w_temp[0];
    w_name = w_temp[1];
    w_round = w_temp[2];
        html += '<font color="red">(The' + num2Chi(w_round) + 'Round) ' + w_name + ' ' + w_vote + ' Votes </font><br />';
}
html += '</td></tr>';

html += '</table>';
html += '</body>';
html += '</html>';
var x = window.open('', 'printList', "location=0,menubar=0,scrollbars=1,status=0,toolbar=0,resizable=1,width=800,height=600");
x.document.write(html);
x.document.close();
}

1 Ответ

1 голос
/ 02 августа 2011

Вам нужно 2 цикла, один для подсчета ВСЕХ голосов и установки его в переменную суммы, а другой - для расчета процента каждого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...