Bird
Raised Fist0
Javascriptprogramming~10 mins

Find and some methods in Javascript - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Find and some methods
Start with array
↓
Check each element
↓
Find returns
↓
Stop
We start with an array and check each element one by one. For find, we stop and return the first element that matches. For some, we stop and return true if any element matches, else false.
Execution Sample
Javascript
const numbers = [1, 3, 5, 8, 9];
const found = numbers.find(n => n % 2 === 0);
const hasEven = numbers.some(n => n % 2 === 0);
console.log(found, hasEven);
This code finds the first even number in the array and checks if there is any even number.
Execution Table
StepElement CheckedCondition (n % 2 === 0)find Resultsome Result
11falsecontinuecontinue
23falsecontinuecontinue
35falsecontinuecontinue
48true8 (stop)true (stop)
59not checkedstoppedstopped
💡 Stopped at element 8 because condition was true for both find and some.
Variable Tracker
VariableStartAfter 1After 2After 3After 4Final
foundundefinedundefinedundefinedundefined88
hasEvenfalsefalsefalsefalsetruetrue
Key Moments - 3 Insights
Why does find stop checking after it finds the first even number?
Because find returns the first element that matches the condition immediately, as shown in step 4 of the execution_table.
Does some return the element it finds or just true/false?
some returns true if any element matches the condition, not the element itself, as shown in the some Result column in step 4.
Why is the element 9 not checked in the example?
Because both find and some stopped at element 8 when the condition was true, so the loop ended early (see exit_note).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the value of 'found' after step 3?
A5
B8
Cundefined
D3
💡 Hint
Check the 'find Result' column at step 3 in the execution_table.
At which step does the 'some' method return true?
AStep 4
BStep 2
CStep 5
DStep 3
💡 Hint
Look at the 'some Result' column in the execution_table to see when it returns true.
If the array had no even numbers, what would 'found' be after all steps?
A0
Bundefined
Cnull
Dfalse
💡 Hint
Recall that find returns undefined if no element matches, check variable_tracker for 'found'.
Concept Snapshot
Array.find(callback) returns the first element matching the condition.
Array.some(callback) returns true if any element matches, else false.
Both stop checking once condition is met.
If no match, find returns undefined, some returns false.
Use find to get element, some to check existence.
Full Transcript
We start with an array and check each element one by one. For the find method, we look for the first element that meets the condition and return it immediately, stopping the search. For the some method, we check if any element meets the condition and return true as soon as we find one, otherwise false if none match. In the example, we check if numbers are even. The find method returns 8, the first even number, and some returns true because there is at least one even number. Both stop checking after finding 8, so the last element 9 is not checked. If no even number was found, find would return undefined and some would return false.

Practice

(1/5)
1. What does the find method do in JavaScript arrays?
easy
A. Returns the first element that matches a condition or undefined if none
B. Returns true if all elements match a condition
C. Returns the index of the last matching element
D. Returns a new array with elements that match a condition

Solution

  1. Step 1: Understand the purpose of find

    The find method searches an array and returns the first element that satisfies the given condition.
  2. Step 2: Compare with other methods

    Unlike filter which returns all matching elements, find returns only the first or undefined if none found.
  3. Final Answer:

    Returns the first element that matches a condition or undefined if none -> Option A
  4. Quick Check:

    find returns first match [OK]
Hint: Remember: find returns one item, some returns true/false [OK]
Common Mistakes:
  • Confusing find with filter
  • Thinking find returns a boolean
  • Assuming find returns all matches
2. Which of the following is the correct syntax to use some on an array arr to check if any element is greater than 10?
easy
A. arr.some(x > 10);
B. arr.some(x => x > 10);
C. arr.some(x => {x > 10});
D. arr.some(x => x > 10) {};

Solution

  1. Step 1: Identify correct arrow function syntax

    The some method requires a function that returns true or false. The arrow function x => x > 10 correctly returns a boolean.
  2. Step 2: Check syntax errors in options

    arr.some(x > 10); misses the arrow function syntax. arr.some(x => {x > 10}); uses braces but no return statement, so returns undefined. arr.some(x => x > 10) {}; has extra braces after the method call, which is invalid.
  3. Final Answer:

    arr.some(x => x > 10); -> Option B
  4. Quick Check:

    Arrow function with return expression [OK]
Hint: Use arrow function with expression for some() [OK]
Common Mistakes:
  • Missing arrow in arrow function
  • Using braces without return in arrow function
  • Adding extra braces after method call
3. What is the output of this code?
const numbers = [3, 7, 12, 5];
const result = numbers.find(n => n > 10);
console.log(result);
medium
A. 7
B. undefined
C. 3
D. 12

Solution

  1. Step 1: Understand the find condition

    The condition n > 10 looks for the first number greater than 10 in the array.
  2. Step 2: Check array elements in order

    The array is [3, 7, 12, 5]. The first element > 10 is 12.
  3. Final Answer:

    12 -> Option D
  4. Quick Check:

    First number > 10 is 12 [OK]
Hint: Find returns first match, not all matches [OK]
Common Mistakes:
  • Thinking find returns all matches
  • Confusing find with some
  • Choosing first element instead of first matching
4. The following code does not work as expected. What is the problem?
const arr = [1, 2, 3];
const hasEven = arr.some(n => { n % 2 === 0 });
console.log(hasEven);
medium
A. The condition should use == instead of ===
B. The some method is not available on arrays
C. The arrow function does not return a value
D. The array is empty

Solution

  1. Step 1: Analyze arrow function body

    The arrow function uses braces but no return statement, so it returns undefined.
  2. Step 2: Understand some expects boolean return

    Since the function returns undefined, some cannot check the condition properly, causing unexpected behavior.
  3. Final Answer:

    The arrow function does not return a value -> Option C
  4. Quick Check:

    Arrow function with braces needs explicit return [OK]
Hint: Use return inside braces or remove braces in arrow function [OK]
Common Mistakes:
  • Forgetting return in arrow function with braces
  • Thinking some is not an array method
  • Confusing equality operators
5. Given an array of user objects:
const users = [
  { id: 1, active: false },
  { id: 2, active: true },
  { id: 3, active: false }
];
Which code correctly finds the first active user and checks if any user is active?
hard
A. const firstActive = users.find(u => u.active); const anyActive = users.some(u => u.active);
B. const firstActive = users.some(u => u.active); const anyActive = users.find(u => u.active);
C. const firstActive = users.filter(u => u.active)[0]; const anyActive = users.find(u => u.active);
D. const firstActive = users.find(u => u.active === false); const anyActive = users.some(u => u.active === false);

Solution

  1. Step 1: Find first active user

    The find method returns the first user object where active is true.
  2. Step 2: Check if any user is active

    The some method returns true if any user has active true.
  3. Final Answer:

    const firstActive = users.find(u => u.active); const anyActive = users.some(u => u.active); -> Option A
  4. Quick Check:

    find returns object, some returns boolean [OK]
Hint: Use find for first match, some for boolean check [OK]
Common Mistakes:
  • Swapping find and some usage
  • Using filter instead of find for first element
  • Checking for false instead of true
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard