const real = new Array();
for (let k = 0; k < 100; k += 50) {
for (let n = 0; n < 5; n += 1) {
real[k] += n;
}
}
运行结果为什么是NAN?怎样才能正确累加呀?
const real = new Array();
for (let k = 0; k < 100; k += 50) {
for (let n = 0; n < 5; n += 1) {
real[k] += n;
}
}
运行结果为什么是NAN?怎样才能正确累加呀?
// 第一次 real[k] 就是 undefinedconsole.log(undefined + 1);
结果: NaN
var real=[];
for (let k = 0; k < 100; k += 50) {
for (let n = 0; n < 5; n++) {
real[k] = n + (real[k] || 0);
}
}
10
结果
0: 10
50: 10
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
累加没有初始值,也就是说,初始值是
undefined
,跟数字相加都是NaN
。可以在内循环开始前给个初始值:
如果数组定长,可以在产生数组的时候就用
.fill
把初始值给填上,顺便一提:
n += 1
可以用n++
或者++n
代替。