let reduceRightArr =[0,1,2,3,4]let reduceRightResult = reduceRightArr.reduceRight((a, b)=>{return a + b;});
console.log(reduceRightResult);// 结果: 10
for…
使用临时变量,并且遍历的是key.
可以正常使用使用break和continue, 但是不能正常使用return
let testArr =['子项0','子项1','子项2'];// break for(var i =0; i < testArr.length; i++){if(i ===1){break;}
console.log(testArr[i]);}// 结果为: 子项0// continuefor(var i =0; i < testArr.length; i++){if(i ===1){continue;}
console.log(testArr[i]);}// 结果为: 子项0 子项目2//returnfor(var i =0; i < testArr.length; i++){if(i ===1){return;}
console.log(testArr[i]);}// 结果为什么也没有
for…of…
遍历的是value
这是最简洁、最直接的遍历数组元素的语法
这个方法避开了for-in循环的所有缺陷
性能要好于forin,但仍然比不上普通for循环
var arr =[1,2,3]for(var item of arr){// item代表数组里面的元素
console.log(item);// 1, 2, 3};
可以正常使用使用break和continue, 但是不能正常使用return
let testArr =['子项0','子项1','子项2'];// break for(let value of testArr){if(value ==='子项1'){break;}
console.log(value);}// 结果为: 子项0// continuefor(let value of testArr){if(value ==='子项1'){continue;}
console.log(value);}// 结果为: 子项0 子项目2//returnfor(let value of testArr){if(value ==='子项1'){return;}
console.log(value);}// 结果为什么也没有
let testArr =['子项0','子项1','子项2'];// break for(let i in testArr){if(i ===1){break;}
console.log(testArr[i]);}// 结果为: 子项0// continuefor(let i in testArr){if(i ===1){continue;}
console.log(testArr[i]);}// 结果为: 子项0 子项目2//returnfor(let i in testArr){if(i ===1){return;}
console.log(testArr[i]);}// 结果为什么也没有