sum

sum

> 函数列表

返回数组 array 中所有数字元素的总和。

参数
返回值
TypeScript

在 JavaScript 中没有原生的求和函数:要写成 a.reduce((s, x) => s + x, 0)。这里有两个坑。不给初始值时,reduce 对空数组会抛出 TypeError:请保留那个 0。另外,只要有一个元素是字符串,+ 就会变成拼接——["a", "b"].reduce((s, x) => s + x, 0) 得到的是字符串 "0ab",而不是数字。

Python

在 Python 中,只要有一个元素不是数字,sum() 就会抛出 TypeError,而 LeekScript 的 sum 会转换每个元素(非数字的字符串会变成它的长度)。另一处差异是结果的类型取决于元素的类型:sum([1, 2]) 返回整数 3,而 LeekScript 的 sum 始终返回实数。sum([]) 等于 0;第二个参数给出起始值——sum([1, 2], 10) 等于 13。