首页 > 解决方案 > 将输入用作数组,然后乘以索引值并得到总和

问题描述

抱歉,如果我的条款有误,我是新手!

我想要做的是让用户输入 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);  

我哪里错了?谢谢!

标签: javascripthtmlarrayssortingdom

解决方案


您可以使用清晰的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


推荐阅读