js中数组的迭代方法
js有五个迭代方法,分别为:every、some、filter、map、forEach
此处须知:
迭代,就是对数组的每一项都进行相应的操作
五个方法中,此处所使用的都是箭头函数 () =>{}
五个方法中,都有三个参数,此处只说两个,item为当前数据项,index为数组索引
1、every()
可以看到,输出的结果为false,every的意思是,将一个数组中的每一项都return后的条件进行比较(这里的item > 3),只有当数组的每一项都满足这个条件,才返回true,否则返回false
<script> var arr = [1,2,3,4,5]; var test = arr.every((item,index)=>{ return item >3; }) console.log(test); //false </script>
2、some()
可以看到,输出结果为true,some的意思是,将一个数组中的每一项都return后的条件进行比较(这里的item > 3),只要有一个满足条件,就返回true
<script> var arr = [1,2,3,4,5]; var foo = arr.some((item,index)=>{ return item > 3; }) console.log(foo); // true </script>
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不会有返回值,forEach里的操作不可改变基本数据类型,但可以改变引用数据类型,例如object。
map与forEach的区别:
map有返回值,forEach没有返回值

浙公网安备 33010602011771号