计算多维数组中的百分比

时间:2011-08-02 07:48:20

标签: javascript arrays multidimensional-array

在我的 Javascript 多维数组中,它存储了3个值:NAME,ROUND,投票数

示例数据:

NAME | ROUND |投票数量

埃文| 1 | 2

约翰| 1 | 1

玛丽| 1 | 3

埃文| 2 | 4

约翰| 2 | 1

我想在屏幕上显示投票结果的百分比(基于ROUND),就像那样:

ROUND 1

Evan - 2票(33.3%)

约翰 - 1投票(16.7%)

玛丽 - 3票(50%)

第2轮

Evan - 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 个答案:

答案 0 :(得分:1)

你需要2个循环,一个计算所有投票,并将其设置为一个和变量,另一个计算每个循环的百分比。