使用Javascript - 总和两个数组在单次迭代 [英] Javascript - Sum two arrays in single iteration
本文介绍了使用Javascript - 总和两个数组在单次迭代的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要总结数字数组与不同数字阵列其相应价值的每一个值,我想这样做没有通过每一个人的价值循环。所以:
I want to sum each value of an array of numbers with its corresponding value in a different array of numbers and I want to do this without looping through each individual value. So:
var array1 = [1,2,3,4];
var array2 = [5,6,7,8];
var sum = [6,8,10,12];
不过,我很乐意这样做一举而不是做这样的:
But I'd love to do it in one fell swoop instead of doing this:
for(var i = 0; i < array1.length; i++){
sum.push(array1[i] + array2[i]);
}
任何人都可以想办法?我是pretty难住了。
Can anyone think of a way? I'm pretty stumped.
推荐答案
您无法回避的循环,但你可以这样做一次,并添加一个函数来使用所有数组对象 Array.prototype
。
You can't avoid the loop, but you can do this once and add a function to all Array objects using Array.prototype
.
下面是和例如:
// Add a SumArray method to all arrays by expanding the Array prototype(do this once in a general place)
Array.prototype.SumArray = function (arr) {
var sum = [];
if (arr != null && this.length == arr.length) {
for (var i = 0; i < arr.length; i++) {
sum.push(this[i] + arr[i]);
}
}
return sum;
}
// here's your code
var array1 = [1, 2, 3, 4];
var array2 = [5, 6, 7, 8];
var sum = array1.SumArray(array2);
console.log(sum); // [6,8,10,12]
这是你的小提琴。
这篇关于使用Javascript - 总和两个数组在单次迭代的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文