如何通过用户输入的数组应用常量数组并获取总和?
用户始终输入 6 位数字,但常量为 5 位
示例
[5, 7, 3, 5, 2] 是我要乘以的常量数组
用户输入837465
变成 [8, 3,7,4,6,5] (但我希望 5 被忽略)
乘以常量数组(不包括最后一个元素)并得到总和:
(8*5)+ (3*7) + (7*3) + (4*5)+ (6*2) = 114
const arr = [5, 7, 3, 5, 2];
var arr2 = [];
var num = parseInt(document.getElementById("yourNumber").value); //input from .html
var sum = 0;
for (var i = 1; i< num.length; i++){ //var i = 1 b/c user always enters 6 digits, i feel this is wrong?
arr2.push(parseInt(num[i]));
sum += (arr2[i]*arr[i]);
}
console.log(sum);
最佳答案
尝试使用 const input = '837465'.split('')
或现成数组 const input = [8, 3, 7, 4, 6, 5]
求和数组的reduce()方法。
当原始数组中有元素时,reduce 就会起作用
const array = [5, 7, 3, 5, 2]
const input = '837465'.split('')
//or
// const input = [8, 3, 7, 4, 6, 5]
const summ = (input) => array.reduce((acum, rec, index) => acum + (rec * input[index]), 0)
console.log(summ(input))
关于javascript - 如何将常量数组与用户输入数组相乘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61002797/