javascript - js 数组对应相加
PHPz
PHPz 2017-04-10 14:52:30
0
1
398
var arr1 = [1,2],
    arr2 = [3,4];

我希望得到一个新的数组是 arr = [4,5] 也就是 arr[0] = arr1[0]+arr2[0] 以此类推。我现在只能想到循环的方式,求其他方法。

PHPz
PHPz

学习是最好的投资!

reply all(1)
洪涛

既然不想用循环,那递归也是方法之一,也可用 map()

javascriptvar a = [1,2,3]
var b = [5,7,9]

var c = a.map(function(v, i) {
    return v + b[i]
})

// [3,9,12]

既然有了这个思路,试试 forEach() 怎么样

javascriptvar a = [1,2,3]
var b = [5,7,9]
var c = []
a.forEach(function(v, i) {
    c.push(v + b[i])
})

// [3,9,12]

然后,封装成一个函数,顺便处理数据长度不一致的情况

javascriptfunction merge(a, b) {
    if (b.length > a.length) {
        var t = a
        a = b
        b = t
    }

    return a.map(function(v, i) {
        return v + (b[i] || 0)
    })
}

var a = [1,2,3]
var b = [5,7,9,10]
var c = merge(a, b)
// [3,9,12,10]
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template