Ian*_*cht 1 javascript arrays reduce function object
我试图通过使用Array.reduce()方法计算数组中奇数和偶数的数量.当我运行下面的代码时,我得到错误"奇怪未定义".如何/在哪里定义奇数以使此代码工作?
var numbers = [5, 3, 8, 6, 9, 1, 0, 2, 2];
var oddEvenCounts = numbers.reduce(function(counts, number) {
if (number % 2 === 1) {
counts[odd]++
} else {
counts[even]++;
}
return counts;
}, {});
Run Code Online (Sandbox Code Playgroud)
好吧,奇怪没有定义.你应该做的是将奇数/偶数放在引号(counts['odd']
)中或使用点符号(counts.odd
).
此外,由于未定义奇数和偶数,因此会增加它们NaN
.应该是初始值{ odd: 0, even: 0 }
.
var numbers = [5, 3, 8, 6, 9, 1, 0, 2, 2];
var oddEvenCounts = numbers.reduce(function(counts, number) {
if (number % 2 === 1) {
counts['odd']++;
} else {
counts['even']++;
}
return counts;
}, { odd: 0, even: 0 });
console.log(oddEvenCounts);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1157 次 |
最近记录: |