数组的操作

58 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第7天,点击查看活动详情 >>

数组(列表)

  • 增加

    • arr.push:数组最后加入元素
    • arr.unshift:数组最前加入元素
  • 删除

    • arr.shift:数组最前删除元素
    • arr.pop:数组最后删除元素
  • 修改

    • arr.spilce:数组任意位置增删改
  • 查找

    • arr.find:找到第一个符合条件的元素之后立即终止遍历
    • arr.findIndex:用于查找满足条件的第一个元素的索引,如果没有,则返回-1
    • arr.indexOf:根据元素查找索引,如果这个元素在数组中,返回索引,否则返回-1,找元素在不在数组内部
  • 数组字符串相互转化

    • arr.join:数组转字符串,将数组中的多元素以指定分隔符连接成一个字符串
    • arr.split:字符串转数组,按照字符串中的某个字符将字符串分割为数组
  • 遍历

    • for:最基本的遍历
    • for...in:遍历键/索引
    • for...of:遍历值/元素
    • forEach:同时拿到键/索引和值/元素
    • some:找到一个符合条件的元素,处理函数如果返回 true就中断遍历
    • every:判断每个元素都符合条件,只要遇到返回 false 就中断遍历
  • 映射

    • map:处理一对一的元素数据映射,循环处理每一个源数据元素,并将结果添加到新的数组中
  • 展开多层结构

    • 一层
      • flat:把多维度的数组减少 1 个或多个维度,可以通过参数指定展开的维度层数
    • 两层:有一个双层数组,想到拿到所有元素的id
      • map➕flat
      • flatMap:先 map(...)flat()
  • 过滤

    • filter:接收一个用于判断的处理函数,并对每个元素使用该处理函数进行判断。如果该函数对某个元素的判断结果是true,该元素会被保留;否则不会添加
  • 归约

    • reduce:累加、分离奇数偶数
  • 截取

    • slice:截取的一个左闭右开区间,终点索引对应的元素不包含在内