javascript - 将输入用作数组,然后乘以索引值并得到总和
问题描述
抱歉,如果我的条款有误,我是新手!
我想要做的是让用户输入 4 个数字,将它们放入一个数组中,然后将这些数字相乘,然后返回总和。例子:
用户输入 1234
我想要它做什么:[1, 2, 3, 4]
我想要的数学:(1*1) + (2*2) + (3*3) + (4*4)
输出:30
这就是我所做的:
arr = [];
var number= parseInt(document.getElementById("number"));
arr.push(number);
var sum = 0;
for (var i = 0; i< arr.length; i++){
sum += (arr[i]*arr[i]) ;
}
console.log(sum);
我哪里错了?谢谢!
解决方案
您可以使用清晰的for
-of
语法 -
const numbers = [ 1, 2, 3, 4 ]
let result = 0
for (const num of numbers)
result = result + (num * num)
console.log(result) // 30
你也可以使用Array.prototype.reduce
-
const numbers = [ 1, 2, 3, 4 ]
const result = numbers.reduce((result, num) => result + (num * num), 0)
console.log(result) // 30
推荐阅读
- git - 后面提交的 MR 很危险?
- assembly - DOS 图形模式下的程序集设置字体背景颜色
- r - 如何基于 R 中另一个数据帧的数学运算创建数据帧
- tsx - React,TSX 解析错误:预期表达式
- oracle - PL/SQL FETCH 到数据字符串
- prometheus-alertmanager - Prometheus Alert Manager:如何防止在通知中分组
- corda - 如何根据状态隐藏事务状态的属性
- javascript - 从 Javascript 中的 groupedBy 数组中删除和计算重复项
- javascript - 对象删除后setTimeout怎么还调用回调
- docker - 'OpenCvSharp.NativeMethods' 抛出异常。无法加载共享库“OpenCvSharpExtern”或其依赖项之一。,Ubuntu 18.04