How to Return a Value From a forEach Loop
Jul 16, 2021
You can't make JavaScript's forEach()
function return a custom value.
Using return
in a forEach()
is equivalent to a continue
in a conventional loop.
// Prints "2, 4"
[1, 2, 3, 4, 5].forEach(v => {
if (v % 2 !== 0) {
return;
}
console.log(v);
});
Variable
You can declare a variable before calling forEach()
and set the value inside the loop;
let array = [1, 2, 3, 4, 5];
let max = 0;
array.forEach((element) => {
if (element > max) {
max = v;
}
});
max; // 5
Using reduce()
JavaScript's reduce()
function iterates over the array like forEach()
, but reduce()
returns the last value your callback returns.
let array = [1, 2, 3, 4, 5];
let initialMax = 0;
const max = array.reduce((element, max) => {
if (element > max) {
return element;
}
return max;
}, initialMax);
max; // 5
Did you find this tutorial useful? Say thanks by starring our repo on GitHub!