我将数组拆分为两个数组arr1
& arr2
。然后我想总结这些值并绑定到另一个数组,如arr3
。我怎么能这样做?
var arr1 = [1,2,3,4]
var arr2 = [2,3,4,4]
var arr3 = [3,5,7,8]
这适用于静态数组,但我的问题是
var TotalOfArray = [];
var temparray = [];
for (i = 0, j = x.length; i < j; i += chunk) {
temparray = x.slice(i, i + chunk);
if (temparray.length == chunk) {
console.log("before loop: "+TotalOfArray.length);
if (TotalOfArray.length == 0) {
for (i in temparray) {
TotalOfArray[i] = temparray[i];
}
console.log("after loop: "+TotalOfArray.length);
} else {
for (i in temparray) {
TotalOfArray[i] = TotalOfArray[i] + temparray[i];
}
}
}
}
正如你所看到的,x将是我拼接成temparray
数组的主数组,因此每次它将与数组长度31拼接而不是我想要求和,chunk = 31现在。但它不会进入ELSE部分。
答案 0 :(得分:4)
这只是一个更简单的版本,假设两个数组的长度相等。有关适用于可变长度数组的解决方案,请继续阅读。
var arr1 = [1, 2, 3, 4];
var arr2 = [2, 3, 4, 4];
var arr3 = arr1.map(function(a, i) {
return a + arr2[i];
});
console.log(arr3);
&#13;
无论如何,这将是一个更强大的解决方案。但是它找到了包含最多值的数组,并将其用于地图。然后,如果在另一个数组中找到未定义的值,它将使用0作为另一个数字。
var arr1 = [1, 2, 3, 4];
var arr2 = [2, 3, 4, 4, 5];
var sorted = [arr1, arr2].sort((a, b) => b.length - a.length);
var arr3 = sorted[0].map(function(a, i) {
return a + (sorted[1][i] || 0);
});
console.log(arr3);
&#13;
答案 1 :(得分:1)
使用// create your style here
Style style = new Style();
style.BackColor = System.Drawing.Color.Aqua;
// apply style to each one
comboBox1.Style = style;
comboBox2.Style = style;
comboBox3.Style = style;
循环:
for
&#13;
答案 2 :(得分:1)
如果两个数组的长度相等,则可以使用Array.prototype.map();
var data1 = [1,2,3,4],
data2 = [2,3,4,4],
result;
result = data1.map(function(value, i){
return value + data2[i];
});
console.log(result);
答案 3 :(得分:0)
var arr1 = [1,2,3,4]
var arr2 = [2,3,4,4]
var arr3 = []
for (var i = 0; i < arr1.length; i++) {
arr3.push(arr1[i] + arr2[i])
}
假设arr1和arr2具有相同的长度。