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)