var howM = prompt("How many cards?")
var arr = [];
for(var i = 0; i < howM; i++)
arr.push(prompt("Enter a card:"));
console.log(arr)
for(var i = 0; i <= howM; i++)
var sum = 0;
var eXt = arr[i]
eXt = eXt.replace (/-/g, "");
for (i = 0; i < eXt.length; i++) {
sum += parseInt(eXt.substr(i, 1)); }
console.log(sum);
它告诉我这个&#34; TypeError:无法读取属性&#39;替换&#39;未定义的 在评估时间:13:11&#34;这对我来说毫无意义,因为它正好在它之上。
答案 0 :(得分:1)
循环cin >> fahr;
的主体未包含在大括号if(fahr==-999)
break;
中。因此,只有语句for(var i = 0; i <= howM; i++)
将在循环中执行。另外,你可能想说{..}
。所以你想要这样的循环:
var sum = 0;
答案 1 :(得分:0)
检查评论:
i < howM
答案 2 :(得分:0)
第二个for
循环周围没有括号。您可以 必须 使用括号 除非 它是一个单行循环。例如:
这很好:
for (var i=0;i<100;i++)
console.log(i);
这不是:
for (var i=0;i<100;i++)
var x = i;
x++;
console.log(x);
所以第二个for循环应该是这样的:
for(var i = 0; i <= howM; i++) {
var sum = 0;
var eXt = arr[i]
eXt = eXt.replace (/-/g, "");
for (i = 0; i < eXt.length; i++) {
sum += parseInt(eXt.substr(i, 1));
}
console.log(sum);
}
同样在第一个for
循环中,我会使用arr[i] = value
代替。