我刚开始学习 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/