Nested Arrays & Flattening (The Interview Trap Explained 😏)

Alright… today we are going to talk about something which looks simple… but interviews mein logon ki hawa nikal deta hai 😏
Nested Arrays & Flattening
And trust me… if you understand this properly, you will start thinking like a developer… not like a “copy-paste engineer” 😌
Also… I am not going to start with heavy definitions… because honestly… kisi ko samajh nahi aata usse.
So what are Nested Arrays?
Technically…
A nested array is an array inside another array.
Simple? Too simple… suspiciously simple 🤨
Let’s understand it in our way.
Real Life Example
Imagine your WhatsApp groups:
Family Group → messages
Friends Group → messages
Office Group → messages
Now if you store all groups:
[
["Hi beta", "Khana khaya?"],
["Bhai party kab?", "Match dekha?"],
["Deadline kal hai", "Meeting at 10"]
]
This… is a nested array
Visual Structure (Important)
Think like this:
[
[1, 2],
[3, 4],
[5, 6]
]
Outer array → main container
Inner arrays → sub containers
Or in human language:
“Array ke andar aur array ghus gaya hai”
Problem Starts Here 😏
Now suppose interviewer asks:
👉 “Give me all elements in one single array”
Output should be:
[1, 2, 3, 4, 5, 6]
Now your brain:
“Easy hai bhai… dekh lenge”
But code likhne baithoge…
Tab samajh aayega asli struggle 😌
What is Flattening?
Flattening means:
👉 Converting nested arrays into a single-level array
Step by Step Thinking (Very Important)
Let’s take:
const arr = [1, [2, 3], [4, [5, 6]]];
Now think like a developer… not like a student.
Step 1: Check each element
1 → normal number → add
[2,3] → array → open it
[4,[5,6]] → array → open again
Step 2: Keep opening until no array left
Final result:
[1, 2, 3, 4, 5, 6]
Why Flattening is Useful?
Let’s be practical…
1. API Data
Sometimes backend sends:
[["apple", "banana"], ["mango"]]
But frontend needs:
["apple", "banana", "mango"]
2. E-commerce Example
Orders:
[
["shirt", "pant"],
["shoes"],
["watch", "belt"]
]
You want:
👉 total items sold
Flatten first → then count
3. Interview Favorite 😏
“Flatten this array without using built-in methods”
And then…
Candidate: 😵💫
Different Ways to Flatten Arrays
Now real game starts 🔥
1. Using flat() (Easy Mode 😌)
const arr = [1, [2, 3], [4, 5]];
const result = arr.flat();
console.log(result);
// [1, 2, 3, 4, 5]
Deep Nested?
arr.flat(Infinity)
2. Using Loop (Manual Thinking 🧠)
const arr = [1, [2, 3], [4, 5]];
let result = [];
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
result.push(...arr[i]);
} else {
result.push(arr[i]);
}
}
console.log(result);
3. Recursive Approach (Interview King 👑)
Now THIS is what interviewer wants.
function flatten(arr) {
let result = [];
for (let item of arr) {
if (Array.isArray(item)) {
result = result.concat(flatten(item));
} else {
result.push(item);
}
}
return result;
}
const arr = [1, [2, [3, 4]], 5];
console.log(flatten(arr));
// [1, 2, 3, 4, 5]
Why recursion?
Because…
“Array ke andar array ke andar array…”
Kitna andar jayega? 👉 Unknown
So we use recursion.
4. Using reduce()
Little advanced… but sexy 😏
const arr = [1, [2, [3, 4]], 5];
const result = arr.reduce((acc, item) => {
return acc.concat(
Array.isArray(item) ? flatten(item) : item
);
}, []);
console.log(result);
Common Interview Scenarios
Now listen carefully… this is gold.
Scenario 1
👉 Flatten array without using .flat()
Expected answer: recursion
Scenario 2
👉 Flatten only one level
[1, [2,3], [4]]
Output:
[1,2,3,4]
Scenario 3
👉 Flatten to specific depth
arr.flat(2)
Scenario 4
👉 Count total elements in nested array
Hint:
👉 Flatten → then .length
How to Think (Most Important Part)
Whenever you see nested array:
Don’t panic ❌ Don’t jump to code ❌
Ask:
Is this element array?
If yes → go inside
If no → collect it
बस… problem solved.
Diagram Idea (Mental Visualization)
Think like onion layers 🧅
[1, [2, [3, [4]]]]
You keep peeling layers until:
👉 only numbers left
Small Assignment (Don’t Run 😏)
const arr = [1, [2, [3, [4, [5]]]]];
Tasks:
Flatten this array
Count total elements
Find sum of all elements
Final Words
Nested arrays are not difficult…
But your thinking makes it difficult.
Once you understand:
👉 “Check → Dive → Collect”
You can solve ANY flatten problem.
And remember…
Interview mein agar ye question aaya…
Aur aapne recursion laga diya…
Interviewer bolega:
“Yeh banda copy paste nahi karta… sochta hai” 😌🔥
अब जाओ… practice करो… warna next interview mein phir bolna padega:
“Sir… thoda hint de dijiye…” 😭






