javascript - 如何将数组的每个元素变成平方根并将它们相加

标签 javascript arrays math.sqrt

我刚开始学习 JavaScript,我必须完成一个任务:

使用局部变量创建函数,将数组 [0,1,2,3,4,5] 的每个元素转换为 sqrt 并将它们相加。

我知道如何执行一个函数,然后我必须执行一个循环 - 我在下一步和使用 Math.sqrt 时遇到问题...

function myFunction() {  
   var numbers = ['0','1', '2', '3', '4', '5'];
   var total = 1;

   for (var i = 1; i < numbers.length; i++) {
        var result = Math.sqrt(numbers[i++]) * +numbers[i];
        console.log(result);
   }
}

myFunction();

最佳答案

此(ES2015 语法)函数将对数字数组的平方根求和:

let sumRoots = array => array.map(Math.sqrt).reduce((a, b) => a + b, 0);

Array.prototype.map函数是将数组元素转换为(新)修改数组的标准方法,Array.prototype.reduce用于将结果数组折叠成它的总和。

如果你不能处理 ES2015 语法,换一个更好的浏览器,或者使用这个:

function sumRoots(array) {
    return array.map(Math.sqrt)
                .reduce(function(a, b) {
                    return a + b;
                }, 0);
}

关于javascript - 如何将数组的每个元素变成平方根并将它们相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41043674/

相关文章:

java - java中按字母顺序对输出文件进行排序

java - 如何使用jlx在Java中的同一个Excel工作表中编写数据循环?

php - 通过 ArrayAccess 访问多维数组

java - 如何在 Android 应用程序上打印 native 符号?

java - 有没有办法使不同语言的这两个值保持一致?

javascript - 无法将数字设置为文档路径 Firestore

javascript - 框架重新加载在 Firefox 和 Chrome 中不起作用

Javascript 对象 - 强制触发事件

javascript - 如何使用 Google Closure Compiler 在 JavaScript 中检测 Internet Explorer?

go - go中的平方负数