我有以下内容:
var numSum = function(set) {
for(i = 0, i < set.length, i++) {
var arrayValue = set[i];
var totalValue = arrayValue +
}
}
numSum([1, 2, 3, 4]);
但我得到的只是
未捕获的语法错误
。我做错了什么?
答案 0 :(得分:4)
For循环需要;
而非,
应该是
for(i = 0; i < set.length; i++)
x=x+y
的简码为x+=y
。
但是你的格式错误了。
应该是
totalValue += arrayValue
如果你在循环中声明变量,那么每次循环都会创建它。
在循环之外声明它。
喜欢这个
var totalValue=0;
for(i = 0; i < set.length; i++) {
var arrayValue = set[i];
totalValue+= arrayValue ;
}
您不需要声明额外的变量来保留。
试试这个
var numSum = function(set) {
var totalValue=0;
for(i = 0; i < set.length; i++) {
totalValue += set[i];
}
return totalValue;
}
numSum([1, 2, 3, 4]);
的 JSFIDDLE 强>
您可以使用 Array.prototype.reduce() 。
试试这个
var sum = [1, 2, 3, 4].reduce(function(prev, curr) { return prev + curr; });
的 JSFIDDLE 强>
答案 1 :(得分:1)
需要进行以下更改:
totalValue
应该是
var numSum = function(set) {
var totalValue = 0;
for(i = 0, i < set.length, i++) {
totalValue += set[i];
}
}
numSum([1, 2, 3, 4]);
答案 2 :(得分:1)
你可以这样做。
var numSum = function(set) {
var arrayValue = 0;
for (i = 0; i < set.length; i++) {
arrayValue += set[i];
}
return (arrayValue);
};
console.log(numSum([1, 2, 3, 4]));
所以你需要在代码中改变一些东西
x+y
或x+=y
很少改进
答案 3 :(得分:0)
有错字错误
var numSum = function(set) {
for(i = 0; i < set.length; i++) { // replace ',' to ';'
var arrayValue = set[i];
var totalValue += arrayValue; // += operator is short of totalValue = totalValue + arrayValue
}
}
numSum([1, 2, 3, 4]);
答案 4 :(得分:-1)
此行有“未捕获的语法错误”
var totalValue = arrayValue +
这应该是
totalValue += arrayValue;
你的numSum函数就像
function numSum (set) {
var totalValue = 0;
for(i = 0, i < set.length, i++) {
totalValue += set[i];
}
return totalValue;
}
numSum([1, 2, 3, 4]);
答案 5 :(得分:-1)
Try this:
var numSum = function(set) {
var arrayValue = 0;
for(i = 0 ; i < set.length ; i++) {
arrayValue += set[i];
}
return arrayValue;
}
alert(numSum([1, 2, 3, 4]));