• 数组的所有方法整理学习


    复习数组中的所有方法

    复习数组中的所有方法以及es6 新出的方法

    concat

      var arr1 = [1, 2, 3, 4, 5]
      var arr2 = ['a', 'b', 'c', 'd']
      // 数组内容合并,返回新的数组
      console.log(arr1.concat(arr2))
      //[1, 2, 3, 4, 5, "a", "b", "c", "d"]
    
      // 可以同时合并多个数组
      console.log(['111'].concat(arr2,['12'],['13'], arr1))
      //["111", "a", "b", "c", "d", "12", "13", 1, 2, 3, 4, 5]
    

    copyWithin

      var arr = ['s', 'c', 'r', 'i', 'p', 't']
      console.log(arr.copyWithin(4, 1, 2))//["s", "c", "r", "i", "c", "t"]
      // copyWithin(target, start, end)
      // target 复制到指定位置
      // start 从那个地方开始
      // end 到那里结束
      // 将索引从第1项开始到第2项结束(不包含索引2)的内容复制到索引为4的位置上
    

    entries

    var arr = ['s', 'c', 'r', 'i', 'p', 't']
    // 从数组中创建一个可迭代的对象。迭代对象的每个实体来自数组对应的元素
    // `注意: IE11 及其更早的浏览器版本不支持 entries 方法。`
    var x = arr.entries();
    console.log(x.next().value)//[0, "s"]
    console.log(x.next())
    console.log(x.next())
    
    

    输出结果:

    every

      var arr = [100,200,3,400,500]
      // every 返回结果有一个为false 都为false
      arr.every((item, index, ar)=>{
        console.log(item, index, ar)// 100 0 (5) [100, 200, 3, 400, 500]
        return item < 50
      })
    

    fill

      var arr = ['s', 'c', 'r', 'i', 'p', 't']
      // fill() 方法用于将一个固定值替换数组的元素。
      // `注意: IE 11 及更早版本不支持 fill() 方法。`
      console.log(arr.fill('值', 3, 4)) // ["s", "c", "r", "值", "p", "t"]
      // fill 和 copyWithin 类似,一个是指定内容,一个是以索引为目标
    

    filter

      var arr = [1,2,3,4,1]
      // 过滤数据 返回满足条件的值
      var a = arr.filter((item, index, ar, a)=>{
        return item >= 3
      })
      console.log(a); // [3, 4]
    

    find

      var arr = [3, 10, 18, 20];
      // 满足条件返回对应的【值】,并且跳出,不在执行
      var a = arr.find((v)=> {
        console.log(v)
        return v >= 18
      })
      console.log(a) // 18
    

    findIndex

    var arr = [3, 10, 18, 20];
    // 返回满足条件对应的【索引】,并且跳出,不在执行
    var a = arr.findIndex((v)=> {
      console.log(v)
      return v >= 18
    })
    console.log(a) // 2
    

    forEach

      var arr = ['a','b','c']
      // 循环数据 没有返回值。可通过return 跳出循环
      arr.forEach((item, index, ar)=>{
        console.log(item, index, ar)
        // item 值
        // index 索引
        // ar 当前数组
      })
    

    includes

      // includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
      [1, 2, 3].includes(2); // true
    

    indexOf

      // 从前向后搜索 查找当前数组中的某一个元素所在位置的索引,没有则返回-1
      [1,2,3,4].indexOf(3) // 2
    

    join

    var arr = ['s', 'c', 'r', 'i', 'p', 't']
    // 数组内容的拼接
    arr.join('')// script
    arr.join('*')// "s*c*r*i*p*t"
    

    keys

    var arr = ['s', 'c', 'r', 'i', 'p', 't'].keys()
    // 数组 keys() 方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键。
    console.log(arr.next())//{value: 0, done: false}
    console.log(arr.next())//{value: 1, done: false}
    console.log(arr.next())//{value: 2, done: false}
    console.log(arr.next())//{value: 3, done: false}
    

    lastIndexOf

    // indexOf类似 区别在于 【从后向前搜索】
    ['s', 'c', 'r', 'i', 'p', 't'].lastIndexOf('t') // 5
    

    length

    // 返回数组的长度 从1 开始
    ['s', 'c', 'r', 'i', 'p', 't'].length
    

    map

      var arr = ['s', 'c', 'r', 'i', 'p', 't']
      // 数组遍历,返回新的数组
      var a = arr.map((item , index, ar)=>{
      // item 值
      // index 索引
      // ar 当前数组
        if(index < 3) {
          return item
        }
      })
      // a  ["s", "c", "r", undefined, undefined, undefined]
    

    pop

    var arr = ['s', 'c', 'r', 'i', 'p', 't']
    // 删除数组中的最后一项
    arr.pop()// 返回删除的元素
    console.log(arr)//["s", "c", "r", "i", "p"]
    

    push

    var arr = ['s', 'c', 'r', 'i', 'p', 't']
    // 给数组追加值
    arr.push(1)// 返回索引
    console.log(arr)//["s", "c", "r", "i", "p", "t", 1]
    

    reduce

    // 求数据的总和
    var arr = [1,2,3,4,5]
    var a = arr.reduce((sum, current, index, ar)=>{
      // sum return 返回的值
      // current 当前遍历的值
      // index 索引
      // 当前遍历的数组
      return sum + current;
    })
    console.log(a) // 15
    

    reduceRight

    // 求数据的总和
    var arr = [1,2,3,4,5]
    var a = arr.reduceRight((sum, current, index, ar)=>{
      // reduceRight 和 reduce 类似, 区别 reduceRight 从右向左,reduce从左向右
      return sum + current;
    })
    console.log(a) // 15
    

    reverse

    // 数组内容反转
    [1,2,3].reverse() //[3, 2, 1]
    

    shift

    // 用于把数组的第一个元素从其中删除,并返回第一个元素的值。
    [1,2,3].shift() //1
    

    unshift

    // 可向数组的开头添加一个或更多元素,并返回新的长度。
    [1,2,3].unshift(4) //4
    var arr = [1,2,3]
    arr.unshift('a','b','c')
    // arr ["a", "b", "c", 1, 3, 4]
    

    slice

    var arr = ['s', 'c', 'r', 'i', 'p', 't']
    // 方法可从已有的数组中返回选定的元素
    arr.slice(2, 3) // ["r"]
    

    some

      var arr = [1,2,61,4,5];
      // some 有一个满足条件 就停止运行
      arr.some((item, index, ar)=> {
        console.log(item, index, ar)
        return item === 61
      })
    

    sort

    var arr = ['c','d','a', 'b']
    // 方法用于对数组的元素进行排序。
    arr.sort((a, b)=> {
      return a - b
    })
    /*-------------------------*/
    var arr = [1,2,6,4,5];
    arr.sort((a, b) => a - b);
    //  [1, 2, 4, 5, 6]
    /*-------------------------*/
    var arr = [1,2,6,4,5];
    arr.sort((a, b) => b - a);
    //  [6, 5, 4, 2, 1]
    
    // 注意:arr.sort() 直接调用会导致排序错误
    

    splice

    var arr = [1,2,3,4,5]
    // 数组内容截取
    arr.splice(0,1) // [1]
    //arr [2, 3, 4, 5]
    

    toLocaleString

    var array = ['a', 'b', 'c'];
    //把数组转换为本地数组,并返回结果
    console.log(array.toLocaleString()); //"a,b,c"
    

    toString

    var array = ['a', 'b', 'c'];
    //把数组转换为字符串,并返回结果,每一项以逗号分割。
    console.log(array.toLocaleString()); //"a,b,c"
    

    备注:如果有那块错误或者还有遗漏的请留言,感谢

  • 相关阅读:
    java的-D命令行参数 mvn -D参数
    storm1.1运行时问题
    shell 日期转换
    storm单机运行与集群运行问题
    [log4j]Slf4j的包冲突
    搭建Spark源码研读和代码调试的开发环境
    Centos7配置
    mvn本地执行java程序
    HDP和HDF
    Django——如何在Django模板中注入全局变量?——part1
  • 原文地址:https://www.cnblogs.com/wangyong1997/p/13454205.html
Copyright © 2020-2023  润新知