# StringReduce()

Iterates over every element of the string and calls the closure to work on the elements of the string. This function will reduce the string to a single value and will return the value.

**Introduced:** 6.0.0.105

```
StringReduce( string=string, closure=function, initialVal=any );
```

**Returns:** any

# Arguments

| Argument | Type | Required | Description | Default |
|----------|------|----------|-------------|---------|
| string | string | Yes | Input string. *Alias: inputString, object* |  |
| closure | function | Yes | Closure or a function reference that will be called for each of the iteration. *Alias: function, callback, udf* |  |
| initialVal | any | No | Initial value that will be used for the reduce operation. *Alias: initial, initalValue* |  |

# Usage Notes

Since Lucee 6, this function iterates over each character in the string.

For list-based iteration with delimiters, use [ListReduce()](listreduce.md) instead.

[LDEV-3747](https://luceeserver.atlassian.net/browse/LDEV-3747)

# Examples

```1
letters="abcdef";
closure=function(value1,value2){return value1 & value2;}
writeOutput( stringReduce(letters,closure,"z") );
```







# Categories

[Strings](../../categories/string.md)

# See Also

[string.reduce()](../objects/string/reduce.md)