计算多维数组中的百分比

发布于 2024-11-27 08:19:22 字数 2743 浏览 1 评论 0原文

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

示例数据:

NAME|圆形|投票数

埃文 | 1 | 约翰二书

| 1 | 1

玛丽 | 1 | 3

埃文 | 2 | 约翰四书

| 2 | 1

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

ROUND 1

Evan - 2 票 (33.3%)

John - 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();
}

In my Javascript Multi-Dimensional Arrays, it stores 3 values: NAME, ROUND, No. of Vote

Sample data:

NAME| ROUND| No. of Vote

Evan | 1 | 2

John | 1 | 1

Mary | 1 | 3

Evan | 2 | 4

John | 2 | 1

I want to display the Voting result on screen with percentage (based on ROUND), Just Like that:

ROUND 1

Evan - 2 Votes (33.3%)

John - 1 Vote (16.7%)

Mary - 3 Votes (50%)

ROUND 2

Evan - 4 Votes (80%)

John - 1 Vote (20%)

Thanks,
Joe

The following is my javascript code:.

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> </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> </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();
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

妥活 2024-12-04 08:19:22

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

You need 2 loops, one to count ALL the votes, and set it into a sum variable, and the other the calculate the percentage of each.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文