JS 数组相加的几种方式

JavaScript04

JS 数组相加的几种方式,第1张

js数组求和的方法

vararray = [1,2,3,4,5]

varsum =0

1.for循环

for(leti =0i <array.lengthi++) {

        sum += array[i]

    }

2.forEach

array.forEach(ele=>{

        sum += ele

    })

3.归并方法reduce()和 reduceRight()

//这两个方法都会迭代数组的所有项,然后构建一个最终返回的值。其中, reduce()方法从数组的第一项开始,逐个遍历到最后。

//而 reduceRight()则从数组的最后一项开始,向前遍历到第一项 

varsum1 = array.reduce(function(prev, next, index, array){

returnprev + next

    })

varsum2 = array.reduceRight(function(last, before, index, array){

returnlast + before

    })

4.eval()

eval(array.join("+"))

// 数组求和除了一般的for,while, foreach, map, filter难道就没有更简单的方法了??

// 答案肯定是 NO NO NO!

// 数组的 reduce() 和 reduceRight() 求和方法!

示例[ES6]:

let numList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

console.log(numList.reduce((n,m) => n+m))

// 结果: 55

// 注意: 如果看不懂箭头函数的小伙伴们,请先了解下ES6。实在没空,下边附上ES5语法示例!

示例[ES5]:

var numList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

console.log(numList.reduce(function (n, m) {

    return n + m

}))

// 综上所述: reduce() 和 reduceRight()效果一样,唯一不一样的就是一个从左开始算,一个从右开始算!

let obj = {

a: "3",

b: "3",

c: "3"

}

var arr = []

for(let i in obj) {

arr.push(obj[i])//属性

}

console.log(arr)

var x = 0

for(var i = 0i <arr.lengthi++) {

x += parseInt(arr[i])

}

console.info(x)