如何在javascript中将数组的结果与另一个数组相加?

时间:2016-01-31 19:58:39

标签: javascript arrays sum

var BasicSizeArr = [350, 320, 300];
var SecondSizeArr = [30, 35, 40];
function ChangeImg(imgPtr) {
document.getElementById("basic").innerHTML = BasicSizeArr[imgPtr];
}
function ChangeSize(size) {
document.getElementById("sizes").innerHTML = SecondSizeArr[size];

HTML:

<input type="radio" value="0" onclick="ChangeImg(this.value)"/><img src="images/b1.jpg"/>
<input type="radio" value="1" onclick="ChangeImg(this.value)"/><img src="images/b2.jpg"/>
<div id="basic"></div>
<select id="size" name="size">
<option id="30x145" value="0" onclick="ChangeSize(this.value)">30 x 145 MM</option>                                 
<option id="35x155" value="1" onclick="ChangeSize(this.value)">35 x 155 MM</option>

<div id="sumsize"></div>

我想将SecondSizeArr数值的每个值与BasicSizeArr [imgPtr]的值相加, 所以,如果我得到350,结果将是

var new SecondSizeArr = [380,385,390];

BasicSizeArr来自image-radiobuttons,SecondSizeArr带有选项按钮......

有人能想到办法吗?任何的想法...?

非常感谢

2 个答案:

答案 0 :(得分:0)

使用for-loop:

var BasicSizeArr = [350, 320, 300];
var SecondSizeArr = [30, 35, 40];

var summedArr = [];

for (var i = 0; i < BasicSizeArr.length; i++) {
    summedArr.push(BasicSizeArr[i] + SecondSizeArr[i]);
}

console.log(summedArr); // Array [ 380, 355, 340 ]

答案 1 :(得分:0)

Array.map()的解决方案:

var BasicSizeArr = [350, 320, 300];
var SecondSizeArr = [30, 35, 40];
var SecondSizeArrSummed; 

function ChangeImg(imgPtr) {
    document.getElementById("basic").innerHTML = BasicSizeArr[imgPtr];
    SecondSizeArrSummed = SecondSizeArr.map(function(v){
        return v + BasicSizeArr[imgPtr]; 
    });
}

console.log(new_SecondSizeArrSummed );   // [380, 385, 390]