您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
在JavaScript的ES6版本中,处理数组变得更加简洁和高效。本文将介绍如何使用ES6的新特性来求一个数组中所有奇数的和。
filter
和reduce
方法ES6提供了filter
和reduce
这两个强大的数组方法,可以轻松地筛选出数组中的奇数并求和。
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const sumOfOdds = numbers
.filter(num => num % 2 !== 0) // 筛选出奇数
.reduce((sum, num) => sum + num, 0); // 求和
console.log(sumOfOdds); // 输出: 25
filter(num => num % 2 !== 0)
:使用filter
方法筛选出数组中所有奇数。num % 2 !== 0
用于判断一个数是否为奇数。reduce((sum, num) => sum + num, 0)
:使用reduce
方法将所有奇数相加。sum
是累加器,num
是当前处理的奇数,0
是初始值。reduce
方法一步到位如果你希望更简洁地实现这个功能,可以直接使用reduce
方法,一步完成筛选和求和。
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const sumOfOdds = numbers.reduce((sum, num) => {
return num % 2 !== 0 ? sum + num : sum;
}, 0);
console.log(sumOfOdds); // 输出: 25
reduce((sum, num) => { return num % 2 !== 0 ? sum + num : sum; }, 0)
:在reduce
方法中,我们直接判断当前数是否为奇数,如果是则累加到sum
中,否则直接返回sum
。for...of
循环虽然for...of
循环不是ES6的新特性,但它与ES6的其他特性结合使用,可以使代码更加简洁。
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let sumOfOdds = 0;
for (const num of numbers) {
if (num % 2 !== 0) {
sumOfOdds += num;
}
}
console.log(sumOfOdds); // 输出: 25
for (const num of numbers)
:使用for...of
循环遍历数组中的每个元素。if (num % 2 !== 0)
:判断当前元素是否为奇数,如果是则累加到sumOfOdds
中。ES6的箭头函数和三元运算符可以使代码更加简洁。
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const sumOfOdds = numbers.reduce((sum, num) => num % 2 !== 0 ? sum + num : sum, 0);
console.log(sumOfOdds); // 输出: 25
num % 2 !== 0 ? sum + num : sum
:使用三元运算符判断当前数是否为奇数,如果是则累加到sum
中,否则直接返回sum
。ES6提供了多种简洁高效的方式来处理数组中的元素。无论是使用filter
和reduce
方法,还是直接使用reduce
方法,亦或是结合for...of
循环,都可以轻松地求出一个数组中所有奇数的和。选择哪种方式取决于你的代码风格和具体需求。
希望本文对你理解如何在ES6中求数组中的奇数和有所帮助!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。