javascpt怎么将两个数组的结果相加,得到一个新的数组呢,非要循环实现么?不用循环怎么写?

javascpt怎么将两个数组的结果相加,得到一个新的数组呢,非要循环实现么?不用循环怎么写?

你是2个数组对应位置的值相加还是2个数组合并成一个新数组
第一个map下,第二个concat


var arr1=[1,2,3]; 
var arr2 =[4,5,6] 
var newArr=arr1.map(function(value,index){return value+arr2[index]}))
console.log(newArr)
var arr1=[1,2,3]; 
var arr2 =[4,5,6] 
var newArr=arr1.concat(arr2)
console.log(newArr)

使用concat方法, 可以将任意多个数组连结放入一个数组中, 比如array2, array3, array4都 接入数组array1:
array1.concat(array2, array3,array4);

concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

arrayObject.concat(arrayX,arrayX,......,arrayX);

concat() 是拼接数组的,可以将任意数组拼接在一起

var arr1=[1,2,3]; var arr = arr1.concat([4,5,6]);
var arr3=arr1+arr

http://www.w3school.com.cn/jsref/jsref_concat_array.asp

使用concat的方法,
可以将任意多个数组连接放入一个数组中

    var arr1 = [1,2,3,4,5];
var arr2 = [3,4,5,6,7,8];
var arr3 = new Set([...arr1,...arr2]);
console.log(arr3);
    还可以去重哦

不知道你说的是两个数组中的元素相加,还是拼接数组,如果是后者用concat()就可以了

var arr1=[1,2,3];
var arr2 =[4,5,6]
var newArr=arr1.concat(arr2)
console.log(newArr)

数组的批量操作内部都用到了循环,无论map还是reduce。以下是reduce的方法:

var a = [1,2,3]
var b = [4,5,6]
//两数组值相加
var c = b.slice()
a.reduce((acc,cur,curIndex)=>{
acc[curIndex] += cur
return acc
},c)
console.log(c)//[5,7,9]

//两数组合并
var d = [...a,...b]
console.log(d)//[1,2,3,4,5,6]