---
category: [Administration & Integrations, Platform and Product Extensions, Platform and Product Extensions/Integration, Administration & Integrations/Custom Integrations & Apps, Platform and Product Extensions/Workday Extend]
keyword: [Extend, PMD Scripting, Scripts]
nav: wcp_docs
parent_url: /wcp_docs/
title: filter (closure)
layout: subsection
---

## <a id="section_m3p_myb_5db"></a>Description

Returns a new set with all elements that pass the test implemented by the specified function.

If you're using the `filter(closure)` function to find only the first match, use the [find (closure)](/wcp_docs/vcl1648168424905.html) function instead. You can reduce memory usage with the `find(closure)` function because it stops processing after it finds the first match.

## <a id="section_cyq_j1m_zsb"></a>Return Type

`Set`

## <a id="section_dz5_pwg_5db"></a>Instance Method Syntax

```
thisSet.filter(closure)
```

<table><thead><tr><th>Parameter</th><th>Description</th></tr></thead><tbody><tr><td>closure</td><td>The function that defines the set filter. <p>Within a closure, you can't redefine the variables that are declared outside the closure.</p></td></tr></tbody></table><br/>

<b>Example</b>

`{1, 2, 3, 4, 5}.filter(x => {x % 2 != 0})`

Returns `{1, 3, 5}`.

## <a id="section_njs_xzl_zsb"></a>Namespace Function Syntax

```
set:filter(set, closure)
```

<table><thead><tr><th>Parameter</th><th>Description</th></tr></thead><tbody><tr><td>set</td><td>The input Set.</td></tr><tr><td>closure</td><td>The function that defines the set filter.</td></tr></tbody></table><br/>

