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]