1,来一个最简单最常用的栗子:

获得年龄为9岁的孩子

 1   let arr = [
2 {
3 name:'小明',
4 sex:0,
5 age:9
6 },
7 {
8 name:'小红',
9 sex:1,
10 age:9
11 },
12 {
13 name:'小亮',
14 sex:0,
15 age:10
16 }
17 ]
18 console.log(arr.filter(item => item.age === 9));

结果为:[ { name: '小明' , sex: 0, age: 9 }, { name:'小红' , sex: 1, age: 9 } ]

filter方法的返回值为符合过滤条件的元素;

2,去掉数组空字符串、undefined、null

1   let arr2 = [ 1,3,5,null,4,undefined,10,'hahah','','end' ];
2
3 console.log(arr2.filter(item => item));

结果为:[1, 3, 5, 4, 10, "hahah", "end"]

3,数组去重的用法

1   let arr3 = [ 1,3,3,6,5,5,8,9,8,'hahah','wer','hahah' ];
2 console.log(arr3.filter((item,index,self) => self.indexOf(item) == index));

ES6 必须要用的数组Filter() 方法,不要再自己循环遍历了!!!的更多相关文章

  1. 循环实现数组filter方法

    // 循环实现数组 filter 方法 const selfFilter = function (fn, context){ // 如果调用的地方使用箭头函数,这里的this岂不是不对了,那该怎么解决 ...

  2. 数组filter方法对数组元素进行过滤

    Array.prototype.filter对数组中元素进行过滤 /** * @method reduce * @param {number} item 当前迭代的数组元素 * @param {num ...

  3. js替换数组中的一个对象用for循环遍历

    for(let i=0;i<statusList.length;i++){ if (statusList[i]['tableId'] === tableId) { statusList[i]=d ...

  4. JavaScript 中的常用12种循环遍历(数组或对象)的方法

    1.for 循环 let arr = [1,2,3]; for (let i=0; i<arr.length; i++){ console.log(i,arr[i]) } // 0 1 // 1 ...

  5. 辨析js遍历对象与数组的方法

    1     遍历对象的方法? (1) for-in(也可遍历数组,但效率较低,一般用来遍历对象) 示例: // 生成一个原型上有属性并且有可枚举属性与不可枚举属性的对象 const data = Ob ...

  6. Map<String, String>循环遍历的方法

    Map<String, String>循环遍历的方法 Map<String, String>循环遍历的方法 Map<String, String>循环遍历的方法 下 ...

  7. 关于ES3、ES5、ES6以及ES7所有数组的方法(api)的总结

    起因:工作用经常用到操作数组的方法,这里进行一下总结,我尽量以简洁的语言概括每个方法(api)的作用.如果您想快速定位,可以Control+F 然后搜相应的方法即可定位 :) ES3的数组方法 joi ...

  8. [js]es6语法: 字符串和数组的方法

    s的方法 根据index取value: 取首尾项,arr[0], arr[arr.length-1] 根据value取index(判断是否包含子字符串): s.indexOf 栗子: 'maotai' ...

  9. es6数组的方法

    1.复习的函数 函数是由关键字function声明的,他是一个引用数据类型,是Function的实例,在调用的时候会开辟一个私有空间 2.函数的成员 arguments:null  (是实参构成的数组 ...

随机推荐

  1. linux 测试 get 请求 跳过SSL证书验证

    Linux 下测试 get 请求: curl : curl "http://www.qq.com" # 标准输出页面内容 curl -i "http://www.qq.c ...

  2. linux 普通用户下使用 jdk 、Tomcat

    需求: 在已经跑的 1.7java环境中需要跑1.8java环境所需要的tomcat,那么因为java环境的不同,nginx代理会出现很多问题,tomcat根本跑不起来,所以提供了以下解决方案. 一, ...

  3. python判断小数示例&写入文件内容示例

    #需求分析: #1.判断小数点个数是否为1 #2.按照小数点分隔,取到小数点左边和右边的值 #3.判断正小数,小数点左边为整数,小数点右边为整数 #4.判断负小数,小数点左边以负号开头,并且只有一个负 ...

  4. 配置虚拟机 Linux 静态IP

    一.查看IP.子网掩码.网关 虚拟网络编辑器 NAT中获取 取消勾选DHCP 二.查看DNS 虚拟机DNS与Windows设置相同 三.配置linux [root@lhs800 ~]# vi /etc ...

  5. python加密(MD5)

    # import hashlib # # 1. 创建一个MD5对象 # obj = hashlib.md5(b"flkjsdalkfjklasdjfklasjkflasdjklfasdjfl ...

  6. t-sql对被除数为0&除数小于被除数结果为0&除法保留2位小数的处理

    SELECT round(CAST(12 AS FLOAT)/nullif(13,0),2,1) FROM TB

  7. Hibernate Transformers之三种结果转换说明

    在hibernate使用的过程中,我们通常需要对结果进行解释.Hibernate为我们提供了以下3种查询结果解释方法: Transformers.ALIAS_TO_ENTITY_MAP //把输出结果 ...

  8. Css - 字体图标

    Css - 字体图标 字体格式 ttf.otf.woff.svg.eot 现在流行将图标做成矢量的字体格式的文档,很多用户在放大页面的时候页面上的普通图片格式的图标就会变得模糊不清,这种字体图标在网页 ...

  9. 2017-2018-2 20165221 实验三《敏捷开发与XP实践》实验报告

    实验报告封面 姓名:谭笑 学号:20165221 班级:1652班 实验名称: JAVA--敏捷开发与XP实践 指导老师:娄嘉鹏 试验时间:15:35--17:15 实验性质:选修 实验组次:21 实 ...

  10. P4126 [AHOI2009]最小割

    题目地址:P4126 [AHOI2009]最小割 最小割的可行边与必须边 首先求最大流,那么最小割的可行边与必须边都必须是满流. 可行边:在残量网络中不存在 \(x\) 到 \(y\) 的路径(强连通 ...