Using return inside loops lets you stop the whole function early when you find what you need. It helps save time and makes your code faster.
Return inside loops in Javascript
function example() { for (let i = 0; i < 10; i++) { if (condition) { return value; } } return defaultValue; }
The return statement inside the loop stops the entire function immediately.
If the return is never reached, the function continues and returns the default value after the loop.
null.function findFirstEven(numbers) { for (const num of numbers) { if (num % 2 === 0) { return num; } } return null; }
true immediately when it finds one.function containsNegative(numbers) { for (let i = 0; i < numbers.length; i++) { if (numbers[i] < 0) { return true; } } return false; }
This program looks for the first word longer than 5 letters in the list. It returns that word immediately when found. If none is longer, it returns a message.
function findFirstLongWord(words) { for (const word of words) { if (word.length > 5) { return word; } } return 'No long word found'; } const wordsList = ['cat', 'dog', 'elephant', 'bird']; console.log(findFirstLongWord(wordsList));
Remember, return inside a loop exits the whole function, not just the loop.
If you want to stop only the loop but continue the function, use break instead.
Using return inside loops lets you stop the function early when a condition is met.
This helps make your code faster by avoiding unnecessary work.
Be careful: return exits the whole function, not just the loop.
Practice
return inside a loop in a JavaScript function?Solution
Step 1: Understand the role of return in functions
Thereturnstatement immediately exits the entire function and sends back a value.Step 2: Analyze return inside a loop
Whenreturnis inside a loop, it does not just stop the loop but stops the whole function immediately.Final Answer:
The function stops immediately and returns the specified value. -> Option AQuick Check:
Return exits function, not just loop [OK]
- Thinking return only stops the loop
- Confusing return with continue or break
- Assuming function runs after return
Solution
Step 1: Check valid return placement
Return must be inside the loop block with correct syntax:return value;.Step 2: Analyze each option
for(let i=0; i<5 i++) return i; has a syntax error (missing semicolon after i<5). for(let i=0; i<5; i++) { return i; } correctly placesreturn i;inside the loop block. return for(let i=0; i<5; i++) { i; } and for(let i=0; i<5; i++) { i return; } have invalid syntax.Final Answer:
for(let i=0; i<5; i++) { return i; } -> Option CQuick Check:
Return inside braces is correct syntax [OK]
- Placing return before for loop
- Missing semicolon after return
- Incorrect order of return and loop
function findFirstEven(arr) {
for (let num of arr) {
if (num % 2 === 0) {
return num;
}
}
return null;
}
console.log(findFirstEven([1, 3, 5, 6, 8]));Solution
Step 1: Loop through array elements
The function checks each number in the array: 1, 3, 5, 6, 8.Step 2: Return first even number found
Numbers 1, 3, 5 are odd, so loop continues. At 6, conditionnum % 2 === 0is true, so function returns 6 immediately.Final Answer:
6 -> Option AQuick Check:
First even number returned is 6 [OK]
- Returning first number instead of first even
- Ignoring return stops function
- Assuming loop checks all elements
function firstNegative(arr) {
for (let i = 0; i < arr.length; i++) {
if (arr[i] < 0) {
break arr[i];
}
}
return null;
}Solution
Step 1: Understand break statement usage
In JavaScript,breakcannot have a value; it only exits the loop.Step 2: Identify correct way to return value
To return a value and stop the function, usereturn arr[i];inside the loop.Final Answer:
Usingbreakwith a value is invalid syntax. -> Option DQuick Check:
Break cannot return a value [OK]
- Using break with a value
- Returning after loop instead of inside
- Incorrect loop boundary conditions
return inside a loop to do this?Solution
Step 1: Check correct use of return inside loop
function findLong(arr) { for (const str of arr) { if (str.length > 5) { return str; } } return null; } returns the string immediately when condition is met, stopping the function.Step 2: Analyze other options for errors
function findLong(arr) { for (const str of arr) { if (str.length > 5) { break str; } } return null; } uses invalidbreakwith value. function findLong(arr) { for (const str of arr) { if (str.length > 5) { continue str; } } return null; } uses invalidcontinuewith value. function findLong(arr) { for (const str of arr) { if (str.length > 5) { return; } } return null; } returns undefined instead of the string.Final Answer:
function findLong(arr) { for (const str of arr) { if (str.length > 5) { return str; } } return null; } -> Option BQuick Check:
Return with value inside loop stops function correctly [OK]
- Using break or continue with values
- Returning without value
- Returning after loop instead of inside
Ready to prove it?
Pass the test and this pattern moves unknown
