js有五个迭代方法,分别为:every、some、filter、map、forEach
此处须知:
迭代,就是对数组的每一项都进行相应的操作
五个方法中,此处所使用的都是箭头函数 () =>{}
五个方法中,都有三个参数,此处只说两个,item为当前数据项,index为数组索引
1、every()
<script>
var arr = [1,2,3,4,5];
var test = arr.every((item,index)=>{
return item >3;
})
console.log(test); //false
</script>
可以看到,输出的结果为false,every的意思是,将一个数组中的每一项都return后的条件进行比较(这里的item > 3),只有当数组的每一项都满足这个条件,才返回true,否则返回false
2、some()
<script>
var arr = [1,2,3,4,5];
var foo = arr.some((item,index)=>{
return item > 3;
})
console.log(foo); // true
</script>
可以看到,输出结果为true,some的意思是,将一个数组中的每一项都return后的条件进行比较(这里的item > 3),只要有一个满足条件,就返回true
3、filter()
<script>
var arr = [1,2,3,4,5];
var foo = arr.filter((item,index)=>{
return item > 3;
})
console.log(foo); // [4,5]
</script>
可以看到,输出结果为[4,5],filter的意思是,将一个数组中的每一项都return后的条件进行比较(这里的item > 3),筛选出满足条件的数据项,并组成一个新数组
4、map()
<script>
var arr = [1,2,3,4];
var a = arr.map( (item,index)=>{
return item*2;
})
console.log(a); // [2,4,6,8]
</script>
可以看到,输出结果为[2,4,6,8],map的意思是,数组中的每一项都进行return后的操作(这里的item*2),之后返回每次函数调用的结果所组成的新数组
5、forEach()
<script>
var arr = [1,2,3,4];
var b = arr.forEach( (item,index)=>{
return item*2;
})
console.log(b); // undefined
</script>
forEach()只遍历一个数组,但是没有返回值(所以此处输出b为undefined)
map与forEach的区别:
map有返回值,forEach没有返回值