• 关于es5中数组新增方法的总结


    一、索引方法

    indexOf()/lastIndexOf()方法

    1、indexOf(searchElement,fromIndex):在数组中查找某一项,如果找到了返回该项的索引,如果没找到返回-1,该方法跟字符串的indexOf使用方法是差不多的。

    2、该方法有两个参数,第一个参数表示要查找的项,第二个参数表示开始查找的位置,当第二个参数省略的时候表示默认从第0个位置开始查找。如下实例:

    var arr = [2,1,4,5,1,5];
    alert(arr.indexOf(4));  //弹出2,因为4在数组中的索引值为2
    alert(arr.indexOf(4,3)); //弹出-1,因为从第三个位置开始往后找的时候,找不到4这个元素

    注意:跟该方法相同的还有一个lastIndexOf()方法,跟indexOf()方法不同的是,该方法是从后往前面开始找

     二、迭代方法

    迭代方法包含some()、every()、filter()、map()和forEach()五个方法,这些方法都接收两个参数,第一个参数是一个函数,他接收三个参数,数组当前项的值、当前项在数组中的索引、数组对象本身。第二个参数是执行第一个函数参数的作用域对象,也就是上面说的函数中this所指向的值。注意,这几种方法都不会改变原数组。

     every()方法

    该方法对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回true。

    var arr = [2,1,4,5,1,5];
    var result=arr.every(function(item,index,array){
        return item>5
    })
    
    alert(result); //弹出false 因为数组中不是每一项都大于5
    var arr = [2,1,4,5,1,5];
    var result=arr.every(function(item,index,array){
        return item>0
    })
    
    alert(result); //弹出true 因为数组中每一项都大于0

    some()方法

    some()方法跟every的用法很相似,不同的是该方法对数组中的每一项运行给定函数,如果该函数对其中的任意一项返回 true,则返回true。

    var arr = [2,1,4,5,1,5];
    
    var result=arr.some(function(item,index,array){
        return item>4
    })
    
    alert(result); //弹出true 因为数组中有大于4的项

    注意:some方法会在数组中任意一项执行函数返回true之后,不在进行循环。

    filter()方法

    该方法对于数组中每一项运行给定函数,将满足条件的项组成一个新的数组返回,利用这个方法可对数组元素进行过滤筛选

    var arr = [2,1,4,5,1,5];
    var result=arr.filter(function(item,index,array){
        return item>4
    })
    
    alert(result); //弹出5,5,因为该数组中满足条件的只有两个5

    forEach()方法

    该方法对数组中的每一项运行给定函数。这个方法没有返回值。这个方法其实就是遍历循环,和for循环没有太大差别。jquery()也提供了相应的方法each()方法。

    var arr = [2,1,4,5,1,5];
    var result=arr.forEach(function(item,index,array){
        console.log(item)
    })

    运行结果:

    map()方法

    该方法对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。

    var arr = [2,1,4,5,1,5];
    var result=arr.map(function(item,index,array){
        return item*2
    })
    
    alert(result); //打印出5,5,因为该数组中满足条件的只有两个5

    运行结果:

  • 相关阅读:
    vue 购买弹出框 动画
    vue 和animate.css 的动画使用
    获得url地址?后的参数
    Java 实现随机数组元素升降序
    java for循环实现九九乘法表
    java 随机生成字符串验证码
    Mysql插入值时,避免重复插入
    Mysql的unique和primary key
    2020 3.6日电话面试(某外包公司)
    Intellij IDEA配置javaweb项目
  • 原文地址:https://www.cnblogs.com/xuxiaozhi/p/8762554.html
Copyright © 2020-2023  润新知