我正在尝试创建一个简单的Google电子表格功能,将排名转换为点数系统,然后添加点数。有权访问电子表格的人(A,B,C,D)将根据第一选择(1),第二选择(2)和第三选择(3)对他们的选择(W,X,Y,Z)进行排名基础。
行是选民,选择在列中。
每1票= 3分; 2票= 2分; 3票= 1分。
出于某种原因,我的脚本只输出脚本的长度而不是点的总和。你能帮我确定我的剧本出错的地方吗?
function tally(rankarray) {
var rank = 0; // this is the vote cast
var result = 0; // this will hold the total
var value = 0; // this holds the value of the vote cast
for (var i=0; i < rankarray.length; i++){
rank = rankarray[i];
if (rank = 1) {
value = 3;
}
if (rank = 2) {
value = 2;
}
if (rank = 3) {
value = 1;
}
result += value;
}
return result;
}
编辑:
我想我修好了。有人看到下面的任何问题吗?
function tally(rankarray) {
var rank = 0;
var result = 0; // this will hold the total
var value = 0; // this holds the value of the vote cast
for (var i=0; i < rankarray.length; i++){
rank = rankarray[i];
if (rank == 1) {
value = 3;
}
else if (rank == 2) {
value = 2;
}
else if (rank == 3) {
value = 1;
}
result += value;
value = 0;
}
return result;
}
答案 0 :(得分:1)
尝试以下脚本:
function tally(rankarray)
{
var rank = 0; // this is the vote cast
var result = 0; // this will hold the total
var value = 0; // this holds the value of the vote cast
for (var i=0; i < rankarray.length; i++)
{
rank = rankarray[i];
switch(rank)
{
case 1:
value = 3;
break;
case 2:
value = 2;
break;
case 3:
value = 1;
break;
}
result += value;
}
return result;
}
希望这有帮助。