使用 JavaScript 获取集合中所有数字的总和
JavaScript 中要获取 Set 中数字的总和:
- 初始化一个 sum 变量并将其设置为 0。
-
使用
forEach()
方法迭代 Set。 - 在每次迭代中,将数字添加到总和中,重新分配变量。
const set1 = new Set([1, 2, 3, 4]);
let sum = 0;
set1.forEach(num => {
sum += num;
});
console.log(sum); // 👉️ 10
我们传递给 Set.forEach
方法的函数被 Set 对象中的每个元素调用。
在每次迭代中,我们将数字添加到 sum 的值并将变量重新分配给结果。
请注意
,sum 变量是使用let
关键字声明的。 如果变量是使用const
声明的,我们将无法重新分配它。
这给了我们集合中所有数字的总数。
另一种更实用的方法是将 Set 转换为数组并使用 Array.reduce 方法。
要获取 Set 中数字的总和:
- 将 Set 转换为数组。
-
使用
reduce()
方法迭代数组。 - 在每次迭代中,将数字添加到累加器并返回结果。
const set1 = new Set([1, 2, 3, 4]);
const arr = Array.from(set1);
console.log(arr); // 👉️ [1, 2, 3, 4]
const sum = arr.reduce((accumulator, current) => {
return accumulator + current;
}, 0);
console.log(sum); // 👉️ 10
我们使用 Array.from
方法将 Set 转换为数组,因此我们可以调用 reduce()
方法。
我们在
reduce
方法中传递给回调函数的第二个参数是累加器变量的初始值,在我们的例子中为 0。
在每次迭代中,我们将数字添加到累加值并返回结果。
累积值在每次迭代时传递给函数,直到计算出元素的总和。
这种方法与前一种方法非常相似,但是如果您不熟悉 reduce
方法,则在 Set 上使用 forEach
方法可能更直观。
相关文章
Do you understand JavaScript closures?
发布时间:2025/02/21 浏览次数:108 分类:JavaScript
-
The function of a closure can be inferred from its name, suggesting that it is related to the concept of scope. A closure itself is a core concept in JavaScript, and being a core concept, it is naturally also a difficult one.
Do you know about the hidden traps in variables in JavaScript?
发布时间:2025/02/21 浏览次数:178 分类:JavaScript
-
Whether you're just starting to learn JavaScript or have been using it for a long time, I believe you'll encounter some traps related to JavaScript variable scope. The goal is to identify these traps before you fall into them, in order to av
How much do you know about the Prototype Chain?
发布时间:2025/02/21 浏览次数:150 分类:JavaScript
-
The prototype chain can be considered one of the core features of JavaScript, and certainly one of its more challenging aspects. If you've learned other object-oriented programming languages, you may find it somewhat confusing when you start
如何在 JavaScript 中合并两个数组而不出现重复的情况
发布时间:2024/03/23 浏览次数:86 分类:JavaScript
-
本教程介绍了如何在 JavaScript 中合并两个数组,以及如何删除任何重复的数组。