# Javascript: Collection.forEach Method

> Executes a callback function for each element.

- **Product:** DS Server
- **Section:** Reference
- **Kind:** Method
- **Introduced:** 28.0
- **Path:** DS Server > Reference > JavaScript API > Javascript: Collection.forEach Method
- **368 words**
- **Web URL:** https://docs.textcontrol.com/ds-server/reference/javascript/collection/foreach-method/
- **LLMs URL:** https://docs.textcontrol.com/ds-server/reference/javascript/collection/foreach-method/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/ds-server/reference/javascript/collection/foreach-method/llms-full.txt

---

### Description

Executes a callback function for each element.

### Syntax

```javascript
<void> Collection.forEach(<ForEachCallback> callback, [<ErrorCallback> errorCallback])
```

### Parameters

| Parameter | Description |
|---|---|
| callback | Receives each element of the collection. |
| errorCallback | Optional. Is called when the operation failed with an error. |

### Examples

The following example demonstrates `Collection.forEach` in a practical document-editing workflow. Executes a callback function for each element.

```javascript
function onTxError(error) {
    console.error("TX Text Control error:", error.msg);
    error.handled = true;
}

function forEach(s) {
    s.forEach(
        function(item, index, itemCount) {
            if (!item) {
                console.warn("No object was returned.");
                return;
            }
            
            console.log("for each result:", item);
        },
        onTxError
    );
}
```

---

## Nearby

- **Previous:** [Javascript: Collection.elementAt Method](https://docs.textcontrol.com/ds-server/reference/javascript/collection/elementat-method/llms-full.txt)
- **Next:** [Javascript: Collection.getCount Method](https://docs.textcontrol.com/ds-server/reference/javascript/collection/getcount-method/llms-full.txt)
