zoukankan      html  css  js  c++  java
  • filter(ele)过滤数组

    filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素。

    例如,在一个Array中,删掉偶数,只保留奇数,可以这么写:

    function remove(arr) {
            let res = arr.filter(function (ele) {
                return ele % 2 !== 0;
            });
            console.log(res);
        }
        remove([1, 2, 3, 4, 2, 4, 5]);

    删除数组中的空字符串,可以这么写:

    1 var arr = ['A', '', 'B', null, undefined, 'C', '  '];
    2 var r = arr.filter(function (s) {
    3     return s && s.trim(); // 注意:IE9以下的版本没有trim()方法
    4 });
    5 r; // ['A', 'B', 'C']

    filter()接收的回调函数,其实可以有多个参数。

     var arr = ['A', 'B', 'C'];
     var r = arr.filter(function (element, index, self) {
         console.log(element); // 依次打印'A', 'B', 'C'
         console.log(index); // 依次打印0, 1, 2
         console.log(self); // self就是变量arr
         return true;
    });

    利用filter,数组去重?

    function remove(arr) {
        let res = arr.filter(function (ele,index,self) {
            return self.indexOf(ele) === index;
        });
        console.log(res);
    }
    remove([1, 2, 3, 4, 2, 4, 5]);

    注释:去除重复元素依靠的是indexOf总是返回第一个元素的位置,后续的重复元素位置与indexOf返回的位置不相等,因此被filter滤掉了。

    原文链接:https://www.cnblogs.com/cjx-work/p/8052865.html

  • 相关阅读:
    Design Pattern: Gof
    ZT --- extern "C"用法详解 2010-08-21 19:14:12
    OCR
    Linux strace命令
    wireshark esp
    https://sourceware.org/gdb/onlinedocs/gdb/Forks.html
    12306网上买火车票选择上中下铺的方法
    gdb调试有fork的程序
    named piped tcp proxy
    bash 提示用户输入 choice
  • 原文地址:https://www.cnblogs.com/-CLAY-/p/filter.html
Copyright © 2011-2022 走看看