首页 > js教程 > 正文

关于js数组filter的用法

原创 2018-07-14 17:15:40 0 4
这篇文章主要介绍了关于js 数组filter 方法的使用,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

filter()方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组。

filter()基本语法:
        arr.filter(callback[, thisArg])

filter()参数介绍:
        参数名    说明
        callback   用来测试数组的每个元素的函数。调用时使用参数 (element, index, array)
        返回true表示保留该元素(通过测试),false则不保留。
        thisArg    可选。执行 callback 时的用于 this 的值。

filter()用法说明:

        filter 为数组中的每个元素调用一次 callback 函数,并利用所有使得 callback 返回 true 或 等价于 true 的值 的元素创建一个新数组。
        callback 只会在已经赋值的索引上被调用,对于那些已经被删除或者从未被赋值的索引不会被调用。那些没有通过 callback 测试的元素会被跳过,不会被包含在新数组中。

        callback 被调用时传入三个参数:

        元素的值
        元素的索引
        被遍历的数组
        如果为 filter 提供一个 thisArg 参数,则它会被作为 callback 被调用时的 this 值。否则,callback 的this 值在非严格模式下将是全局对象,严格模式下为 undefined。

        filter 不会改变原数组。

        filter 遍历的元素范围在第一次调用 callback 之前就已经确定了。在调用 filter 之后被添加到数组中的元素不会被 filter 遍历到。
        如果已经存在的元素被改变了,则他们传入 callback 的值是 filter 遍历到它们那一刻的值。被删除或从来未被赋值的元素不会被遍历到。

例子1-- 过滤小于10 的值;

 function isBigEnough(element) {   
    return element >= 10;
 }
 var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);

例子2-- 过滤对象中的数据; 多用于筛选功能;

    var arr = [
      {
        name: '小米',
        code: '01'
      },
      {
        name: "小米米",
        code: '02'
      },
      {
        name: "小明",
        code: '03'
      },
      {
        name: "大明",
        code: '"04"'
      }
    ]
    var newArr = arr.filter((v) => { return v.name.includes('明') })
    console.log(newArr);  //         {
                          //         name: "小明",
                          //          code: '03'
                          //         },
                          //         {
                          //          name: "大明",
                          //          code: '"04"'
                          //         }

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

对于jQuery中$符号的作用的分析

对js中宿主对象的解析

以上就是关于js数组filter的用法的详细内容,更多请关注php中文网其它相关文章!

  • 相关标签:js数组
  • 本文原创发布php中文网 ,转载请注明出处,感谢您的尊重!
  • 相关文章


  • 原生javascript实现分享到朋友圈功能 支持ios和android_javascript技巧
  • jQuery链式调用与show知识浅析_jquery
  • JS实现登录页面记住密码和enter键登录方法推荐_javascript技巧
  • BootstrapTable与KnockoutJS相结合实现增删改查功能【一】_javascript技巧
  • 网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
    独孤九贱(4)_PHP视频教程

    独孤九贱(4)_PHP视频教程

    江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。 PHP中文网出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...

    独孤九贱(5)_ThinkPHP5视频教程

    独孤九贱(5)_ThinkPHP5视频教程

    ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《php.cn独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...

    独孤九贱(1)_HTML5视频教程

    独孤九贱(1)_HTML5视频教程

    《php.cn原创html5视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。 ...

    ThinkPHP5实战之[教学管理系统]

    ThinkPHP5实战之[教学管理系统]

    本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。

    PHP入门视频教程之一周学会PHP

    PHP入门视频教程之一周学会PHP

    所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...

    相关视频教程

  • javascript初级视频教程 javascript初级视频教程
  • jquery 基础视频教程 jquery 基础视频教程
  • javascript三级联动视频教程 javascript三级联动视频教程
  • 独孤九贱(3)_JavaScript视频教程 独孤九贱(3)_JavaScript视频教程
  • 独孤九贱(6)_jQuery视频教程 独孤九贱(6)_jQuery视频教程
  • 相关视频章节