HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/html/dashboard.orbiwheels.com/public/vendors/jszip/documentation/api_jszip/filter.md
---
title: "filter(predicate)"
layout: default
section: api
---

__Description__ : Filter nested files/folders with the specified function.

__Arguments__

name      | type     | description
----------|----------|------------
predicate | function | the predicate to use.

The predicate has the following signature : `function (relativePath, file) {...}` :

name         | type      | description
-------------|-----------|------------
relativePath | string    | the filename and its path, reliatively to the current folder.
file         | ZipObject | the file being tested. See [ZipObject]({{site.baseurl}}/documentation/api_zipobject.html).

The predicate must return true if the file should be included, false otherwise.


__Returns__ : An array of matching ZipObject.

__Throws__ : Nothing.

<!-- __Complexity__ : **O(k)** where k is the number of entries. -->

__Example__

```js
var zip = new JSZip().folder("dir");
zip.file("readme.txt", "content");
zip.filter(function (relativePath, file){
  // relativePath == "readme.txt"
  // file = {name:"dir/readme.txt",options:{...},asText:function}
  return true/false;
});
```