• js数组遍历some、foreach、map、filter、every、lastIndexOf、indexOf对比


    1. [...].some(ck)函数 

    对数组中每个元素执行一次ck函数,知道某个元素返回true,则直接返回true。如果都返回false,则返回false

    检查整个数组中是否有满足ck函数的元素。

    var result = [1,5,3,6].some(  (v,i)  =>  (v>10) )      //所有元素都不满足,返回result = false
    var result = [10,5,30,60].some(  (v,i)  =>  (v<10) )      //有一个(多个)满足,返回result  = true
    
    2.[...].foreach(ck)函数

    每个数组元素都执行一次ck函数,foreach函数无法用break跳出

    [50, 25, 49].forEach( (v,i) => console.log(v) );
    //50     25      49
    
    3.[...].map(ck)函数 

    每个数组元素都执行一次ck函数,最后返回每次元素执行ck函数后返回值的集合(数组) 

    var newArray = [50,30,40].map( (v,i) => v/10 )       //每个元素除以10,最后返回一个新数组 newArray = [5,3,4]
    
    4.[...].filter(ck)函数

    每个数组元素都执行一次ck函数,最后返回每次元素执行ck函数后返回值的为true的元素集合(数组) 

    var newArray = [50,2,60,4,53,15].filter( (v,i) => (v>10) )   //返回数组中大于10的元素新数组  newArray = [50,60,53,15]
    
    5.[...].every(ck)函数
    每个数组元素都执行一次ck函数,直到某个元素执行函数ck返回false,则直接返回false,如果全部返回true,则返回true
    

      

    var result = [5,50,35,12,85].every( (v,i) => v<51 )  //返回有一个(多个)大于等于51,则返回 result = false
    var result = [5,50,35,12,85].every( (v,i) => v<100 )  //全部大于51,则返回 result = true
    
    6.[...].lastIndexOf(ck,[fromIndex])函数

    searchElement: 要搜索的元素

    fromIndex : 开始搜索的位置,默认为数组的长度(length),在这样的情况下,将搜索所有的数组元素。搜索是反方向进行的。

    比较 searchElement 和数组的每个元素是否绝对一致(===),当有元素符合条件时,返回当前元素的索引。如果没有发现,就直接返回 -1 。

    //查找符合条件的元素:
    
    var array = [2, 5, 9, 2];
    var index = array.lastIndexOf(2);
    // index is 3
    index = array.lastIndexOf(7);
    // index is -1
    index = array.lastIndexOf(2, 3);
    // index is 3
    index = array.lastIndexOf(2, 2);
    // index is 0
    index = array.lastIndexOf(2, -2);
    // index is 0
    index = array.lastIndexOf(2, -1);
    // index is 3
    //结果:
    //[2, 5, 9, 2].lastIndexOf(2) : 3 
    //[2, 5, 9, 2].lastIndexOf(7) : -1 
    //[2, 5, 9, 2].lastIndexOf(2, 3) : 3 
    //[2, 5, 9, 2].lastIndexOf(2, 2) : 0 
    //[2, 5, 9, 2].lastIndexOf(2, -2) : 0 
    //[2, 5, 9, 2].lastIndexOf(2, -1) : 3
    
    7.[...].IndexOf(ck,[fromIndex])函数

    功能与lastIndexOf()一样,搜索是正向进行的  

    //查找符合条件的元素:
    
    var array = [2, 5, 9];
    var index = array.indexOf(2);
    // index is 0
    index = array.indexOf(7);
    // index is -1
    //结果:
    //[2, 5, 9].indexOf(2) : 0 
    //[2, 5, 9].indexOf(7) : -1  

    参考:http://www.cnblogs.com/jiebba/p/6514067.html

      

  • 相关阅读:
    如何在域和域之间建立信任域?关键是配置域和域之间的DNS服务器
    Client Recevier 命令安装 AllUsers=1
    在XD 4.0 设置Policy
    更改linux系统中键盘设置
    如何在DNS中添加另一DNS
    CMD命令
    KMS激活OS(系统)
    谁抢了我的IP!!!~
    关于域证书的发布CA和CRL的内容 (Windows 2008 Server R2 SP1)
    XenServer假死状态
  • 原文地址:https://www.cnblogs.com/wangyunhui/p/10374748.html
Copyright © 2020-2023  润新知