---
title: "featureFilter | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# Function featureFilter

-   featureFilter(  
        filter: void | [FilterSpecification](https://docs.maptiler.com/sdk-js/api-reference/types/FilterSpecification/),  
        globalState?: [Record](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Record/)<string, any\>,  
    ): [FeatureFilter](https://docs.maptiler.com/sdk-js/api-reference/types/FeatureFilter/)[](#featurefilter)
    
    Given a filter expressed as nested arrays, return a new function that evaluates whether a given feature (with a .properties or .tags property) passes its test.
    
    #### Parameters
    
    -   filter: void | [FilterSpecification](https://docs.maptiler.com/sdk-js/api-reference/types/FilterSpecification/)
        
        MapLibre filter
        
    -   `Optional`globalState: [Record](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Record/)<string, any\>
        
        Global state object to be used for evaluating 'global-state' expressions
        
    
    #### Returns [FeatureFilter](https://docs.maptiler.com/sdk-js/api-reference/types/FeatureFilter/)
    
    filter-evaluating function
    
    #### Private[](#private)
