📅  最后修改于: 2023-12-03 15:24:45.175000             🧑  作者: Mango
假设你有一个数组,你想把数组中的所有元素相加。你可以使用for循环来实现这个目标。
function sumArrayWithForLoop(array) {
let total = 0;
for (let i = 0; i < array.length; i++) {
total += array[i];
}
return total;
}
const myArray = [1, 2, 3, 4, 5];
const sum = sumArrayWithForLoop(myArray);
console.log(sum); // 输出 15
上面代码片段中的函数sumArrayWithForLoop
遍历数组中的每个元素,将它们纳入总和。for
循环从0开始,每次加1直到数组的末尾。total
变量在每次循环迭代中被累加。最后,函数返回累加器的总和。
你可以在声明total
变量时使用任何数字作为初始化值。如果你在循环中使用未初始化的变量,则总和将默认为NaN
。这种情况很容易出现拼写错误或使用错误变量名称时。
使用数组reduce()方法可以使代码更加简洁,而不使用for
循环。
function sumArrayWithReduce(array) {
return array.reduce(function(total, currentValue) {
return total + currentValue;
});
}
const myArray = [1, 2, 3, 4, 5];
const sum = sumArrayWithReduce(myArray);
console.log(sum); // 输出 15
reduce()
方法接受一个回调函数作为参数,它将数组元素减少为单个值。回调函数接受两个参数:total
和currentValue
。在每个迭代中,当前值将添加到累加器中。
在 reduce()
方法中,使用 0 作为初始值参数。如果不指定初始值则数组的第一个元素将被用作初始值并且后续元素将依次相加。使用初始值可以避免空数组的问题。
使用for
循环可以实现将数组元素相加的目标,但在许多情况下,使用reduce()
方法会更容易,更简洁。 现代JavaScript推荐开发人员在任何给定的情况下都应该尽量使用内置的数组方法。