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])
}