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没有返回值

posted @ 2020-05-27 17:55  清明|雨上  阅读(200)  评论(0)    收藏  举报