zoukankan      html  css  js  c++  java
  • JavaScript数组方法大全(第二篇)

    数组方法大全(第二篇)

    注意:如有错误欢迎指出,如有雷同纯属巧合,本博客参考书籍JavaScript权威指南,有兴趣的小伙伴可以去翻阅一下哦

    forEach()方法

    遍历数组,里面可以传递一个方法

    var arr = [1,2,3];
    arr.forEach(function (item,index,array) {
        //item:表示数组中元素的每一项
        //index:表示每一项所对应的索引
        //array:表示原数组
    })
    
    

    map()方法

    将调用数组的每个元素传递给指定的函数,并返回一个新的数组,不会去修改原数组

    var arr = [1,2,4,,6];
    var a = arr.map(function (item,index,array) {
        //item:表示数组中元素的每一项
        //index:表示每一项所对应的索引
        //array:表示原数组
        //得有返回值
        return item * 2
    })
    
    console.log(a);     ==>输出[2,4,8,,12]
    console.log(arr);   ==>输出[1,2,4,,6]
    

    filter()方法

    过滤,传递的函数是用来逻辑判定的,该函数返回true或false,如果返回值为true或者能转化为true的值,那么传递给判定函数的元素就是这个子集的成员,就会加入到返回的数组当中去(可以理解为数组当中的每个元素,只要满足自己设定的条件,就会添加到返回的数组当中去)

    不修改原数组返回的是满足设定条件元素所组成的数组

    var arr = [1,2,4,5,6];
    var a = arr.filter(function (item,index,array) {
        //item:表示数组中元素的每一项
        //index:表示每一项所对应的索引
        //array:表示原数组
        //得有return值,不填返回一个空数组
        return item < 4;
    })
    
    console.log(a);     ==>输出[1,2]
    console.log(arr);   ==>输出[1,2,4,5,6]
    

    every()方法

    数组中的每个元素是否满足某个条件,返回值true或false,当有一个不满足条件时就会返回false,当所有元素都满足条件时返回true

    var arr = [1,2,3,4];
    var a = arr.every(function (item,index,array) {
        //item:表示数组中元素的每一项
        //index:表示每一项所对应的索引
        //array:表示原数组
        return item < 5;
    })
    console.log(a); ==>输出true
    

    some()方法

    数组中的元素是否满足某个条件,返回值true或false,当有一个满足条件时就会返回true,当所有元素都不满足条件时返回false

    var arr = [1,2,3,4];
    var a = arr.some(function (item,index,array) {
        //item:表示数组中元素的每一项
        //index:表示每一项所对应的索引
        //array:表示原数组
        return item < 3;
    })
    console.log(a); ==>输出true
    
    

    注意:every()和some()的区别:ervery()一假及假,some()一真及真

    reduce()方法

    它需要传递两个参数,第一个参数是函数,第二个参数(可选)是传递给函数的初始值

    //假设得到数组当中的每位元素相加的结果,就可以:
    var arr = [1,2,3,[[5]],{}];
    var a = arr.reduce(function (x,y,index,array) {
        //x:当有初始值时就代表初始值,没有传递初始值时就为数组第一位,当开始计算时,就为上次运算return的结果
        //y:当有初始值时代表数组第一位,没有就代表第二位,当开始计算时表示数组当中的元素
        //index:表示数组当中当前元素的索引值
        //array:数组元素本身
        return x + y
    },0)
    console.log(a); ==>输出 65[object Object]
    
    

    reduceRight()方法

    详情请戳这里

    indexOf()方法、lastIndexOf()方法

    搜索整个数组中具有给定制的元素,返回找到的第一个元素的索引,如果没有就返回-1

    可以传递两个参数,第一个参数表示需要搜索的元素,第二个参数(可选),表示从哪个位置开始搜索,可以是负数表示从数组的倒数第几位开始查找

    indexOf()方法从头至尾搜索,而lastIndexOf()则反向搜索

    var arr = [1,2,3,4,2,4];
    var a = arr.indexOf(2);
    console.log(a);     ==>输出1
    console.log(arr);   ==>输出[1,2,3,4,2,4]
    
    var b = arr.lastIndexOf(2);
    console.log(b);     ==>输出4
    console.log(arr);   ==>输出[1,2,3,4,2,4]
    
    var c = arr.lastIndexOf(2,-3);
    console.log(c);     ==>输出1
    

  • 相关阅读:
    c#爬虫-从内存中释放Selenium chromedriver.exe终极杀
    领域驱动设计-从贫血模型到充血模型
    推荐:.Net 5开源免费的内容管理系统
    Exceptionless服务端本地化部署
    Chrome扩展程序开发
    SqlSugar+SqlServer+NetCore3.1 入门案例
    Linux Qt5 一. 开发环境安装
    Boost Mutex详细解说
    Y7000 2020 安装ubuntu 16.04.3双系统后无法识别无线网卡问题
    《视觉SLAM十四讲》第三讲习题7
  • 原文地址:https://www.cnblogs.com/fanzhikang/p/11336994.html
Copyright © 2011-2022 走看看