一、数组迭代器方法 – 产生新的数组
1.map()方法,返回值是新数组,会将return返回值添加到新数组中
map(function(ele,index,arr){
})
map方法和forEach方法区别:
map方法会有返回值,返回值是新数组,新数组中的元素是将return后面的返回值, forEach方法没有返回值
2.filter(),返回值是新数组,会将return之后满足条件的元素添加到新数组中
filter(function(ele,index,arr){
})
二、reduce()方法的使用
1.reduce(function(prev,next,index,arr){},defalutvalue)
prev表示上一次的返回值
next表示下一个元素
index表示下标(next的下标)
arr表示原数组
defalutvalue:设置prev默认值,不设置prev表示数组中第一个元素
1.元素累加
<script>
var arr = [1, 2, 10, 15, 7, 9];
// 数组元素累加
var res = arr.reduce(function (prev, next, index, arr) {
// console.log(prev, next, index, arr);
console.log(prev,next);//1 2 / 3 10 / 13 15
return prev + next
})
</script>
2.元素累乘
<script>
// reduce练习1:数组元素累乘
var res = arr.reduce(function (prev, next, index, arr) {
console.log(prev,next);
return prev * next
},1)
</script>
3.求最大值
<script>
var arr = [1, 2, 10, 15, 7, 9];
// reduce练习2:求数组中的最大值
var res = arr.reduce(function (prev, next) {
return prev >next ? prev : next
})
console.log(res);