在 TypeScript 中获取数字数组的总和

在 TypeScript 中获取数字数组的总和

Get the Sum of an Array of Numbers in TypeScript

要获取数字数组的总和:

  1. 使用reduce()方法遍历数组
  2. 在每次迭代中,用当前值递增累加和。
  3. 结果将是数组中所有数字的总和。
索引.ts
const arr: number[] = [10, 20, 50]; const result = arr.reduce((accumulator, current) => { return accumulator + current; }, 0); console.log(result); // 👉️ 80

我们传递给
Array.reduce
方法的函数会被数组中的每个元素(数字)调用。

accumulator参数的初始值为0,因为这是我们作为第二个参数提供给该方法的值。 reduce

accumulator在每次迭代中,我们都会用数组的当前值递增,直到计算出总数。

reduce()方法返回数组中所有数字的总和。

您可能还会看到显式设置方法的accumulator类型和返回类型的示例reduce()

索引.ts
const arr: number[] = [10, 20, 50]; // 👇️ using <number> generic to set return type const result = arr.reduce<number>((accumulator, current) => { return accumulator + current; }, 0); console.log(result); // 👉️ 80

上面的示例使用
泛型
显式设置
accumulator变量的类型和reduce()方法的返回类型。

但是,在这种情况下它可以省略,因为 TypeScript 能够根据提供的默认值推断它。

另一种可能更简单的方法是使用该forEach方法。

要获取数字数组的总和:

  1. 使用关键字初始化sum变量并将其设置为.let0
  2. 调用forEach()方法迭代数组。
  3. sum在每次迭代中,用当前数字递增变量。
索引.ts
const arr: number[] = [10, 20, 50]; let sum = 0; arr.forEach((element) => { sum += element; }); console.log(sum); // 👉️ 80

我们传递给
Array.forEach
方法的函数会针对数组中的每个元素进行调用。

请注意,我们使用关键字声明sum变量。我们不能重新分配使用声明的变量 let const

在循环的每次迭代中,我们增加存储在sum
变量中的值以获得总量。

这种方法更具可读性和直观性,尤其是当您不习惯该reduce方法的工作方式时。