• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
saobo
博客园    首页    新随笔    联系   管理    订阅  订阅
关于js数组方法filter()

1. filter()

都是数组方法,这个方法和forEach()的方法的区别又是什么呢?

2. 先说结论

filter() 和 forEach() 都是遍历数组的方法,甚至它们匿名函数的形参都是一样的,
而区别就在于 filter()是专门用来筛选数组内容的,
调用了filter()方法的之后,是需要接收一下的。
比如说拿一个新的变量来接受一下,或者拿原来那个调用了filter()方法的数组变量来接收一下

3. 直接上代码吧

点击查看代码
    var myArr = [1, 2, 3]
    var newArr = myArr.filter(function(currentValue, index, array) {
      return currentValue > 1
    })
    console.log(newArr);

这段代码的意思,就是筛选myArr数组里面大于1的元素,然后用一个新的变量来接受filter()返回的结果

结果就是这么简单。

实际上filter方法一遍只用写一个参数,
也就是默认的第一个参数当前循环数组的项currentValue,
上面的代码精简写法如下:

点击查看代码
    var newArr = myArr.filter(item => {
      return item > 1
    })
    console.log(newArr);

同样的这里贴一个视频讲解地址:https://www.bilibili.com/video/BV1DY41177dM?p=40

posted on 2022-06-18 16:30  Lazy-懒狗  阅读(267)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3