Subjects

All subjects Django Java Python React Spring Boot JavaScript PHP
Sign Up Free
Question 5 of 10 · Array Methods
Interview question

How do you check if an array includes a value, and what's the difference between includes() and indexOf()? किसी array में value है या नहीं कैसे check करें, includes() और indexOf() में क्या अंतर है?

Answer
MethodReturnsDetects NaN?
includes()Boolean (true/false)Yes
indexOf()Index number, or -1No - cannot find NaN
const arr = [1, 2, 3, NaN, 5];

// includes - simple boolean check, more readable
console.log(arr.includes(3));   // true
console.log(arr.includes(99));  // false

// indexOf - returns position, -1 if not found
console.log(arr.indexOf(3));    // 2
console.log(arr.indexOf(99));   // -1

// Old pattern before includes() existed - checking with indexOf
if (arr.indexOf(3) !== -1) {
    console.log('Found using indexOf');
}

// Modern, more readable equivalent
if (arr.includes(3)) {
    console.log('Found using includes');
}

// KEY DIFFERENCE: NaN handling
console.log(arr.indexOf(NaN));  // -1 - indexOf uses === which NaN fails against itself
console.log(arr.includes(NaN)); // true - includes uses SameValueZero algorithm

// includes with a starting search position (2nd argument)
console.log([1, 2, 3, 2].includes(2, 2)); // true - searches from index 2 onward

// String includes() works similarly (unrelated to array, but same concept)
console.log('Hello World'.includes('World')); // true
MethodReturnNaN detect करता है?
includes()Booleanहाँ
indexOf()Index या -1नहीं
const arr = [1, 2, 3, NaN, 5];

// includes - simple boolean check
console.log(arr.includes(3));   // true
console.log(arr.includes(99));  // false

// indexOf - position return करता है
console.log(arr.indexOf(3));    // 2
console.log(arr.indexOf(99));   // -1

// पुराना pattern
if (arr.indexOf(3) !== -1) {
    console.log('indexOf से मिला');
}

// Modern तरीका
if (arr.includes(3)) {
    console.log('includes से मिला');
}

// KEY DIFFERENCE: NaN handling
console.log(arr.indexOf(NaN));  // -1 - indexOf === use करता है
console.log(arr.includes(NaN)); // true - includes SameValueZero use करता है

// Search शुरू करने की position
console.log([1, 2, 3, 2].includes(2, 2)); // true

Was this answer clear?