gpt4 book ai didi

Javascript Reduce 方法创建累加器对象

转载 作者:行者123 更新时间:2023-11-30 07:20:38 24 4
gpt4 key购买 nike

var numbers = [5, 3, 8, 6, 9, 1, 0, 2, 2];
var oddEvenCounts = numbers.reduce(function(counts, number) {
if (isOdd(number)) {
counts[odd]++;
} else {
counts[even]++;
}
}, {});

我正在寻找这段代码中的错误(仍在学习 reduce 方法;))——我哪里出错了?

最佳答案

带有注释的工作代码:

var numbers = [5, 3, 8, 6, 9, 1, 0, 2, 2];

function isOdd(n) {
return !!(n % 2);
}

var oddEvenCounts = numbers.reduce(function(counts, number) {
if (isOdd(number)) {
counts.odd++; // use dot notation or ['odd']
} else {
counts.even++; // use dot notation or ['even']
}

return counts; // return the accumulator
}, { odd: 0, even: 0 }); // set the initial values of odd and even

console.log(oddEvenCounts);

您可以使用括号符号和三元运算符来稍微缩短代码:

var numbers = [5, 3, 8, 6, 9, 1, 0, 2, 2];

function isOdd(n) {
return !!(n % 2);
}

var oddEvenCounts = numbers.reduce(function(counts, number) {
counts[isOdd(number) ? 'odd' : 'even']++;

return counts;
}, { odd: 0, even: 0 });

console.log(oddEvenCounts);

关于Javascript Reduce 方法创建累加器对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46331389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com