先是filter()这个方法中有一个回调函数回调函数这个回调函数有一个要求他的的返回值必须是一个布尔值
当返回的是true时这个回调函数会自动将这次回调的n加入新的数组中
当返回的是false的话函数会过滤这次的n
我们用这个方法来把一个数组中的小于100的放在一个新的数组中
<script>
这个是声明的一个函数
let ad=[1,23,454,67,54,7876]
这个ado是添加的一个新的数组
var ado= ad.filter(function(n){
这里面是我们判断的一个条件返回的是我们要的布尔值
return n<100
})
console.log(ado);
</script>
这个是我们在工作台打印的结果(我们数组中小于100的都打印了出来)
——————————————————————————————————————————
接下来我们来说一下我们的map函数和我们的filter函数是不一样的这个map函数的你可以理解为计算,而filter函数的话就是判断过滤
接下来我们用map将我们的数组在每一个元素*2
let ad=[1,23,454,67,54,7876]
这个map会将我们计算好的结果添加在一个新的数组里面
var ay= ad.map(function(n){
return n*2
})
console.log(ay);
reduce函数的作用是对数组中的所有内容进行汇总
这个reduce函数里面最少要传两个参数一个是一个回调函数这个回调函数中又有两个参数,第二值一个是我们从什么开始相加的值我们一般写的都是0,
reduce函数中的第一个参数是个回调函数,这个回调函数中有两个参数,分别是上一个的值,和当前的值
<script>
let ad=[1,23,454,67,54,7876]
// 这个preValue是上一个值,n的话是这个当前的值
var ay = ad.reduce(function(preValue,n){
return preValue+n
},0)
// 这里的遍历过程是这个样子的
// 这里每一次的 preValue+n 都进行了一个相加
// 第一次的话preValue是我们传的reduce的第二个参数
// 以后的话preValue的值是我们return的结果
// preValue 第一次是0 n的话是1
// preValue 第二次是1 n的话是23
// preValue 第3次是24 n的话是 454
// preValue 第4次是478 n的话是 67
// preValue 第5次是545 n的话是 54
// preValue 第4次是599 n的话是 7876
// 就这样一次一次的相加我们最后得到的就是我们数组相加的结果
console.log(ay);
</script>
这个就是我们的结果