JSPM

deep-array-filter

1.0.3
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 16
    • Score
      100M100P100Q41164F
    • License MIT

    Filters an array of objects with filters defined in an object.

    Package Exports

    • deep-array-filter

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (deep-array-filter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    deep-array-filter

    Filters an array of objects.

    npm i deep-array-filter

    Define your filter values:

    the property $ will search in all keys.

    let filterBy = {
        $: 'wayne',
        firstname: 'john',
        age: 18,
        address: {
            city: 'Basel'
        }
    };

    FilterTypes

    Define type of your filters:

    If not defined it will default to includes.

    let filterTypes = {
        age: 'gt',
        address: { 
            city: 'gt' 
        }
    }

    Execute the filter

    let filteredArr = filter(arr, filterBy, filterTypes)

    Filters

    Currently there are following filters defined:

    • includes - substring matching
    • gt - greater than
    • lt - less than

    If you need more, open an Issue or send a PR.

    extend filterTypes

    If you need more or different filters, you can provide you custom compare functions.

    let filterType = {
        age: 'customFilter'
    };
    
    let comparator = {
        customFilter: (value, filter) => {
            return value > filter;
        }
    };
    
    let filteredArr = filter(arr, filterBy, filterTypes, comparator)