Javascript 将数组拆分为块并对每个索引求和,然后合并到另一个数组中

Javascript 将数组拆分为块并对每个索引求和,然后合并到另一个数组中,javascript,jquery,Javascript,Jquery,我正在将一个数组拆分为两个数组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) { tempar

我正在将一个数组拆分为两个数组
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];
                }

            }

        }

    }
var TotalOfArray=[];
var temparray=[];
对于(i=0,j=x.length;i
如您所见,x将是主数组,我正在将其拼接到
temparray
数组中,因此每次它都将拼接到数组长度为31的数组中,而我现在想做的是sum,chunk=31。但它不会进入其他部分。

等长数组: 这只是一个更简单的版本,它假设两个数组的长度相等。有关使用可变长度数组的解决方案,请进一步阅读

var arr1=[1,2,3,4];
var arr2=[2,3,4,4];
var arr3=arr1.map(函数(a,i){
返回a+arr2[i];
});
控制台日志(arr3)等长数组:
这只是一个更简单的版本,它假设两个数组的长度相等。有关使用可变长度数组的解决方案,请进一步阅读

var arr1=[1,2,3,4];
var arr2=[2,3,4,4];
var arr3=arr1.map(函数(a,i){
返回a+arr2[i];
});

控制台日志(arr3)使用
进行循环:

var arr1=[1,2,3,4]
var arr2=[2,3,4,4]
var arr3=[]
对于(arr1中的i){arr3[i]=arr1[i]+arr2[i];}

console.log(arr3)
使用
进行循环:

var arr1=[1,2,3,4]
var arr2=[2,3,4,4]
var arr3=[]
对于(arr1中的i){arr3[i]=arr1[i]+arr2[i];}
console.log(arr3)
var arr1=[1,2,3,4]
var arr2=[2,3,4,4]
var arr3=[]
对于(变量i=0;i
假设arr1和arr2具有相同的长度。

var arr1=[1,2,3,4]
var arr2=[2,3,4,4]
var arr3=[]
对于(变量i=0;i

假设arr1和arr2具有相同的长度。

如果两个数组具有相同的长度,则可以使用

var data1=[1,2,3,4],
数据2=[2,3,4,4],
结果;
结果=data1.map(函数(值,i){
返回值+数据2[i];
});

控制台日志(结果)如果两个数组长度相等,则可以使用

var data1=[1,2,3,4],
数据2=[2,3,4,4],
结果;
结果=data1.map(函数(值,i){
返回值+数据2[i];
});

控制台日志(结果)你保证在arr1和arr2中有相同数量的元素吗?是的,每次都是相同的。你保证在arr1和arr2中有相同数量的元素吗?是的,每次都是相同的。很好,但我的问题是,我正在使用for循环拼接阵列,如果您能看到我在问题中添加了for循环。@Gopallohila我认为KevBot提供的变量数组解决方案应该可以解决您的问题。这很好,但我的问题是,我正在使用for循环拼接数组,如果您能看到我在问题中添加了for循环。@Gopallohila我认为KevBot提供的变量数组解决方案应该可以解决您的问题。非常感谢您在这方面的帮助。这对我有用。非常感谢你在这件事上帮助我。这对我有用。巨大的努力
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])
}