javascript - 如何将常量数组与用户输入数组相乘?

标签 javascript html arrays math dom

如何通过用户输入的数组应用常量数组并获取总和?

用户始终输入 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/

相关文章:

javascript - 按下键码不返回预期的字符串值

javascript - 通过 getJSON 在单独的文件中使用 PHP 数据时出现问题

javascript - 在 Cloud9 中使用 jQuery

php - 在 PHP 和 MySQL 中插入和显示特殊字符

java - 比较 2 个数组并删除重复项? java

javascript - JS 调试 - var 资金值(value)相差甚远

c# - 如何按 X% 匹配 2 个字符串(即 >90% 匹配)

html - 不固定高度的滚动条/带滚动条的动态高度

arrays - 如何在fortran中传递数组中的函数?

c - 为什么即使在 C 中分配给大的可变长度数组也有固定值 -1?