数组的常用方法总结

129 阅读2分钟

同学们对于js数组常用的方法应该大都烂熟于心了,今天花点时间我们再来重温一下

首先是数组的能改变自身的7个方法:

  1. push 尾部增加
  2. pop 尾部删除
  3. shift 头部删除
  4. unshift 头部增加
  5. splice 删除某一个或者替换
  6. sort 排序
  7. revese 反转

这里用过vue的小伙伴应该非常熟悉,这是vue中经常提到的几个方法

es3 方法

  • arr.indexOf 查找一个元素是否在数组中
  • concat(...items) 合并返回一个新数组
  • slice 截取部分返回一个新数组
  • join 拼接返回一个字符串

es5 方法

  • filter 过滤符合条件的项,组成一个新数组
  • some 检查有一项为true,即为true
  • every 检查每一项为true 才为true
  • reduce

es6方法

  • find 找出符合条件的第一项
  • findIndex 找出符合条件的第一项index
  • includes 数组中是否包含
  • flat 拉平多维数组
  • [...arr] 数组的扩展运算符 将数组浅copy一份
  • Array.from 转数组

数组的迭代方法

  • forEach
  • map 返回一个新数组
  • keys values entries

综合写下来,数组的常用方法的确也不算少了,有时候对于某个方法记忆模糊了,需要再查一下。但是我们需要清楚的知道某个方法能处理什么情况,知道在什么时候使用才是真正掌握了。

就比如数组常用的去重,现在我们经常用的是扩展运算符结合Set 数据结构:

 [...new Set(arr)]
 这就是利用数组扩展运算符的copySet元素的唯一性

我们开发的时候也经常遇到这个场景:从A数组中,找到不在B数组的元素

let c = []
A.forEach(item => {
  if (A.includes(item) && !B.includes(item)) {
      c.push(item)
  }
})
这个问题也有许多的解法,但这个解法我认为还是比较符合正向思维的,比较容易记住

写在最后: 平时开发中数组方法的时候场景还有很多,遇到不太容易的需要我们多多总结归纳。只有思考归纳过后,才是我们真正掌握的。当然如果想针对训练,还是推荐数一下(数组知识点题库 - 力扣(LeetCode))等算法题,训练多了,你就会了~