• JS数组常用方法


    数组中的常用方法

    map

      做映射关系处理,

      1.数组过滤获取每一项的一个字段

        let arr = [{id:1,name:'张三'},{id:2,name:'李四'}]
        let ids = arr.map(d => d.id);

      2.数组映射每一项增加字段或者对象

        let arr = [{id:1,name:'张三'},{id:2,name:'李四'}]
        let newArr = arr.map(d => {return {...d,age:'20'}})

    flatMap    

      做映射处理并展开,数组过滤如果每一项的某个字段是一个数组,映射完成后会变成双重数组,flatMap会将内层数组给去掉

        let arr = [{id:1,name:'张三',hobbys:[1,2,3]},{id:2,name:'李四',hobbys:[4,5,6]}]
        let newArr = arr.flatMap(d => d.hobbys)
        // [1,2,3,4,5,6]

    join

      将数组拼接成字符串 : 返回拼接好的字符串
      arr.join(’-’) //‘1-2-3’

    push

      将数组最后添加1或多项 : 返回修改后数组的长度
      arr.push(4) //[1,2,3,4]

    pop

      将数组末尾删除一项 : 返回移除的项
      arr.pop() //[1,2]

    unshift

      和push相似. 将参数添加到数组第一项 : 返回数组的长度
      arr.unshift(0) //[0,1,2,3]

    shift

      和pop相似. 删除数组第一项 : 返回移除的项; 数组为空的则返回underfined
      arr.shift() //[2,3]

    sort

      数组从小到大排列, 字母也可以: 返回变化后的原数组
      arr.sort() // [1,2,3]

    reverse

      翻转数组 : 返回翻转后的变化后的原数组
      arr.reverse() // [3,2,1]

    concat

      拼接两个数组,原数组不变 : 返回拼接后的新数组
      arr.concat([5, 6]) // [1,2,3,5,6]

    slice

      截取数组.原数组不变

      有两个参数: 都是数组下标

      参数有一个时: 返回去掉这些项后的新数组
      arr.slice(1) // [2,3]

      参数有两个时: 返回截取的新数组
      arr.slice(1,2) // [2]

    splice

      可以删除,添加,替换数组元素, 改变原数组

      参数有两项时:
      从第0项开始,删除两项. 返回被删除的数组元素 [1,2]
      arr.splice(0,2) / / [3]

      参数有三项及以上:
      从第二项开始删除一项:将2删了,添加进10,11进数组.
      返回被删除的数组元素
      arr…splice(2, 1, 10,11) // [1,10,11,3]
      如果第二个参数为0则代表只增加元素 : 返回空数组
      arr…splice(2, 0, 10,11) // [1,2,10,11,3]

    indexof

      查找数组中的元素 : 返回要找到的元素索引. 找不到 : 返回-1
      arr.indexof(2) // 2

    includes

      includes() 查找数组中的元素有则 : 返回 true否则false
      arr.includes(1) // true
      注: 区别, 增强了对NaN的判断, 用indexof在数组中找NaN必定返回-1
      而includes方法则会正确找到

    fill

      填充数组, 改变原数组: 返回改变后的原数组
      arr.fill(22) //[22, 22, 22]

    forEach

      历数组.进行函数运算: 没有返回值

      三个参数分别为
        1.遍历的那个元素
        2.对应的索引
        3.数组本身

    filter

      遍历数组,过滤符合条件的数组元素 : 返回合条件的新数组

    every和some

      遍历数组, 判断元素是否在数组中存在 : 返回true或者false
      every : 全部符合才返回true
      some: 有一项符合就返回true

    reduce

      arr.reduce((sum, it) => { return sum + it },0)

    find和findIndex

      find() 找到第一个符合条件的成员 : 返回数组成员
      fundIndex() 找到第一个符合成员的索引 : 返回索引值

  • 相关阅读:
    [iOS]一行代码集成空白页面占位图(基于runtime+MJRefresh思想)
    怎么去掉Xcode工程中的某种类型的警告 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32
    iOS悬浮窗口(无论界面跳转、View始终在视图上显示,可移动)
    开发工程中遇到的BUG
    iOS基于B站的IJKPlayer框架的流媒体探究
    iOS 快速集成ijkplayer视频直播与录播框架
    每日英语:Air Pollution From Coal Use Cuts Lifespans in China, Study Shows
    每日英语:Do Successful People Need Sleep?
    每日英语:Risk-Averse Culture Infects U.S. Workers, Entrepreneurs
    每日英语:How to find the career of your dreams
  • 原文地址:https://www.cnblogs.com/linqing001/p/14011495.html
Copyright © 2020-2023  润新知