用 Javascript 乘以数组元素

DIM*_*ION 1 javascript

我想知道使用 javascript 将数组元素相乘的最快和最有效的方法。

var array = ["1", "2", "3", "4"];
Run Code Online (Sandbox Code Playgroud)

所以结果总共是10。

Poi*_*nty 5

首先,这些值是字符串,而不是数字,所以首先要做的是让它们成为数字:

 array.map(Number)
Run Code Online (Sandbox Code Playgroud)

然后乘以 .reduce

 array.map(Number).reduce(function(product, value) { return product * value; });
Run Code Online (Sandbox Code Playgroud)

编辑——注释明智地指出,*无论如何,运算符都会尝试将其操作数转换为数字。通过显式转换为数字,您可以添加一个过滤器来查看是否NaN产生了任何值,但NaN会像癌症一样传播,所以这真的无关紧要。考虑可选的数字转换。

现在,一般来说,如果我从 API 获取数字作为字符串的数组,我会倾向于进行显式转换,因为从某种意义上说,这意味着 API 的设计确实存在问题。我更愿意将任何“有趣”的代码与诸如此类的奇怪东西隔离开来。