---
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(item, index))
layout: subsection
---

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

Creates a new list with all elements that pass the test implemented by the specified closure function. The closure function accepts a 2nd parameter, which is a zero-based index for generating the list.

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

`List`

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

```
thisList.filter(closure(item,index))
```

<table><thead><tr><th>Parameter</th><th>Description</th></tr></thead><tbody><tr><td>closure(item, index)</td><td>The function that defines the list filter. The closure function accepts a 2nd parameter, a zero-based index for implementing incremental logic. <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>

`[ "a", "b", "c" ].filter((item, index) => index % 2 == 0)`

Returns `["a", "c"]`

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

```
list:filter(list, closure(item,index))
```

<table><thead><tr><th>Parameter</th><th>Description</th></tr></thead><tbody><tr><td>list</td><td>The input List.</td></tr><tr><td>closure(item, index)</td><td>The function that defines the list filter. The closure function accepts a 2nd parameter, a zero-based index for implementing incremental logic.</td></tr></tbody></table><br/>

