你的语法全错了。
要访问数组中的项目,请使用[]
not ()
,并且for/in
循环需要在表达式周围加上括号。
//-v--------------------------------v------parentheses
for (x in range(lengthCandidateArray)) {
totalVotes = onlineVotesArray[x] + paperVotesArray[x];
// ---------------v-v-----------^-^------------------^-^-----square brackets
totalVotesArray[x] = totalVotes;
x = x + 1;
}
此外,您正在调用length
和range
方法。如果您在另一个脚本中没有它们,那么它们就不存在。
如果您只是想获取.length
数组的,请使用该属性。而且您不需要range
循环方法。
var candidateArray = ['Mr R Green...', 'Ms O Brown...', 'Ms Y Black...', 'Mr G White...', 'Ms B Grey....','Ms I Blue....', 'Mr V Pink....'];
var onlineVotesArray = [21,47,23,11,56,47,30];
var paperVotesArray = [12,4,20,11,5,4,17];
var totalVotesArray = [];
var lengthPaperVotesArray = paperVotesArray.length;
for (var x = 0; x < lengthPaperVotesArray; x++) {
totalVotesArray[x] = onlineVotesArray[x] + paperVotesArray[x];
}
document.write(totalVotesArray);
示例:http: //jsfiddle.net/8fkZq/
编辑::
如果您希望您的输出包含这样的候选人:
Mr R Green... : 33,
Ms O Brown... : 51,
Ms Y Black... : 43,
Mr G White... : 22,
Ms B Grey.... : 61,
Ms I Blue.... : 51,
Mr V Pink.... : 47
...您可以更改循环:
for (var x = 0; x < lengthPaperVotesArray; x++) {
totalVotesArray[x] = '<br>' + candidateArray[x] + ' : ' + (onlineVotesArray[x] + paperVotesArray[x]);
}
示例:http: //jsfiddle.net/8fkZq/1/