DEV Community

Usama
Usama

Posted on

πŸ† Mastering JavaScript Arrays β€” From Basics to Modern ES6+

Arrays are one of the most important foundations in JavaScript.
They let us store, organize, and transform data efficiently.

I’ve organized everything into small files, so it’s easier to practice, revise, and remember for the long term.


πŸ“˜ Concepts with Examples

🧺 1. Creating Arrays

const fruits = ["apple", "banana", "orange"]; const numbers = new Array(1, 2, 3); 
Enter fullscreen mode Exit fullscreen mode

✍️ 2. Accessing & Updating Elements

const colors = ["red", "green", "blue"]; console.log(colors[0]); // red colors[1] = "yellow"; console.log(colors); // ["red", "yellow", "blue"] 
Enter fullscreen mode Exit fullscreen mode

πŸ§ͺ 3. Mutating Methods (change the original array)

const arr = [1, 2, 3]; // push() β†’ add at end arr.push(4); // [1, 2, 3, 4] // pop() β†’ remove last arr.pop(); // [1, 2, 3] // shift() β†’ remove first arr.shift(); // [2, 3] // unshift() β†’ add at start arr.unshift(0); // [0, 2, 3] // splice() β†’ insert/remove arr.splice(1, 0, 99); // [0, 99, 2, 3] // reverse() arr.reverse(); // sort() arr.sort(); 
Enter fullscreen mode Exit fullscreen mode

πŸ›‘οΈ 4. Non-Mutating Methods (return a new array)

const numbers = [3, 7, 10, 15, 20, 25]; // map() const doubled = numbers.map(n => n * 2); // [6, 14, 20, 30, 40, 50] // filter() const greater10 = numbers.filter(n => n >= 10); // [10, 15, 20, 25] // reduce() const sum = numbers.reduce((acc, cur) => acc + cur, 0); // 80 // forEach() numbers.forEach(n => console.log(n)); // find() const firstDiv5 = numbers.find(n => n % 5 === 0); // 10 // findIndex() const index15 = numbers.findIndex(n => n === 15); // 3 // some() const has30 = numbers.some(n => n === 30); // false // every() const allPositive = numbers.every(n => n > 0); // true // includes() numbers.includes(20); // true // indexOf() numbers.indexOf(15); // 3 // flat() const nested = [1, [2, 3]]; nested.flat(); // [1, 2, 3] // flatMap() numbers.flatMap(n => [n * 2]); // [6, 14, 20, 30, 40, 50] 
Enter fullscreen mode Exit fullscreen mode

🧩 5. Array Destructuring

// Basic const [a, b] = ["red", "green"]; console.log(a, b); // red green // Skip elements const [x, , y] = [10, 20, 30]; console.log(x, y); // 10 30 // Default values const [fruit1, fruit2 = "banana"] = ["apple"]; console.log(fruit1, fruit2); // apple banana // Swap variables let p = 1, q = 2; [p, q] = [q, p]; console.log(p, q); // 2, 1 // Nested arrays const [m, [n, o]] = [1, [2, 3]]; console.log(m, n, o); // 1, 2, 3 // Rest operator const [first, second, ...rest] = [1, 2, 3, 4, 5]; console.log(first, second, rest); // 1, 2, [3, 4, 5] 
Enter fullscreen mode Exit fullscreen mode

πŸŒ€ 6. Spread Operator in Arrays

// Combine arrays const fruits = ["apple", "banana"]; const moreFruits = ["orange", "grape"]; const allFruits = [...fruits, ...moreFruits]; // Copy array const nums = [1, 2, 3]; const copied = [...nums]; // [1, 2, 3] // Add elements while copying const colors = ["red", "green"]; const newColors = ["blue", ...colors]; // ["blue", "red", "green"] // Find max value const values = [5, 10, 2, 8]; Math.max(...values); // 10 // Spread with function arguments function sum(a, b, c) { return a + b + c; } const numbersArr = [2, 4, 6]; sum(...numbersArr); // 12 
Enter fullscreen mode Exit fullscreen mode

πŸ“‘ Final Cheat Sheet (Quick Memory Aid)

Method / Concept Description Example
push() Add at end [1].push(2) β†’ [1,2]
pop() Remove last [1,2].pop() β†’ [1]
shift() Remove first [1,2].shift() β†’ [2]
unshift() Add at start [2].unshift(1) β†’ [1,2]
splice() Insert/remove [1,2,3].splice(1,1) β†’ [1,3]
sort() Sort array [3,1].sort() β†’ [1,3]
reverse() Reverse array [1,2].reverse() β†’ [2,1]
map() Transform elements [1,2].map(x=>x*2) β†’ [2,4]
filter() Keep elements by condition [1,2,3].filter(x=>x>1) β†’ [2,3]
reduce() Reduce to single value [1,2,3].reduce((a,c)=>a+c,0) β†’ 6
forEach() Loop array [1,2].forEach(x=>console.log(x))
find() First element matching [5,10].find(x=>x%5===0) β†’ 5
findIndex() Index of element [5,10].findIndex(x=>x===10) β†’ 1
some() At least one true [1,2].some(x=>x>1) β†’ true
every() All true [1,2].every(x=>x>0) β†’ true
includes() Check element [1,2].includes(2) β†’ true
indexOf() First index [1,2].indexOf(2) β†’ 1
flat() Flatten array [1,[2]].flat() β†’ [1,2]
flatMap() Map + flat [1,2].flatMap(x=>[x*2]) β†’ [2,4]
Destructuring Unpack values const [a,b]=[1,2]
Spread Expand array [... [1,2]] β†’ [1,2]

🎯 Why This Helps

  • Easy revision for interviews
  • Better memory for 6+ months
  • Quick reference for coding projects

βœ… Save this, fork it, or share it with other learners!
πŸ”₯ Let’s master JavaScript arrays together.


🌐 Connect with Me

Check out my projects and practice files here:
https://github.com/Usamaazeem03/javaScript-a-to-z-concept.git

Top comments (0)