15 JavaScript Array Functions You Should Master as a Senior Dev
Dipak Ahirav

Dipak Ahirav @dipakahirav

About: Full Stack Developer | Angular & MEAN Stack Specialist | Tech Enthusiast | I’ve garnered over 3K+ reactions | 350+ comments | 325K+ readers | 170+ posts | 43K+ followers

Location:
Pune, Maharastra
Joined:
Apr 26, 2024

15 JavaScript Array Functions You Should Master as a Senior Dev

Publish Date: Aug 14 '24
273 34

JavaScript arrays are a fundamental part of the language, and mastering the array functions it offers is essential for any senior developer. These functions allow you to handle data efficiently, write cleaner code, and implement advanced functionality with ease. In this post, we'll dive into 15 array functions that every senior developer should be well-versed in.

please subscribe to my YouTube channel to support my channel and get more web development tutorials.

1. map()

Description:

The map() function creates a new array populated with the results of calling a provided function on every element in the original array.

Why It’s Important:

map() is vital for transforming data in a functional programming style, allowing you to apply operations to each element in an array without mutating the original array.

Example:

const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8]
Enter fullscreen mode Exit fullscreen mode

Explanation:

In this example, map() takes each element in the numbers array, doubles it, and returns a new array with the doubled values.

2. filter()

Description:

filter() creates a new array with all elements that pass the test implemented by the provided function.

Why It’s Important:

Use filter() to extract necessary data from an array without altering the original array, which is crucial for maintaining immutability in your code.

Example:

const words = ['spray', 'limit', 'elite', 'exuberant'];
const longWords = words.filter(word => word.length > 6);
console.log(longWords); // ['exuberant']
Enter fullscreen mode Exit fullscreen mode

Explanation:

Here, filter() checks each word in the words array and returns a new array with only those words that have more than six letters.

3. reduce()

Description:

reduce() reduces an array to a single value by applying a function to each element, accumulating the result.

Why It’s Important:

reduce() is a powerful tool for performing operations that combine all elements in an array into a single output, such as summing values or constructing a new object.

Example:

const numbers = [1, 2, 3, 4];
const sum = numbers.reduce((total, num) => total + num, 0);
console.log(sum); // 10
Enter fullscreen mode Exit fullscreen mode

Explanation:

In this example, reduce() sums all the numbers in the numbers array, starting from an initial value of 0.

4. find()

Description:

find() returns the first element in an array that satisfies the provided testing function.

Why It’s Important:

find() is useful for quickly locating a specific item in an array, especially when working with objects where you need to find a particular property value.

Example:

const users = [
  { id: 1, name: 'John' },
  { id: 2, name: 'Jane' },
  { id: 3, name: 'Doe' }
];
const user = users.find(user => user.id === 2);
console.log(user); // { id: 2, name: 'Jane' }
Enter fullscreen mode Exit fullscreen mode

Explanation:

Here, find() searches through the users array and returns the first user object with an id of 2.

5. some()

Description:

some() tests whether at least one element in the array passes the provided function’s test.

Why It’s Important:

some() is useful for scenarios where you need to check if any element in an array meets a certain condition, allowing you to validate inputs or check for specific values.

Example:

const numbers = [1, 2, 3, 4, 5];
const hasEven = numbers.some(num => num % 2 === 0);
console.log(hasEven); // true
Enter fullscreen mode Exit fullscreen mode

Explanation:

In this example, some() checks if there is at least one even number in the numbers array.

6. every()

Description:

every() tests whether all elements in the array pass the provided function’s test.

Why It’s Important:

every() is crucial when you need to ensure that all elements in an array meet a specific criterion, which is particularly useful for validation checks.

Example:

const numbers = [2, 4, 6, 8];
const allEven = numbers.every(num => num % 2 === 0);
console.log(allEven); // true
Enter fullscreen mode Exit fullscreen mode

Explanation:

Here, every() checks if all the numbers in the numbers array are even.

7. forEach()

Description:

forEach() executes a provided function once for each array element.

Why It’s Important:

While forEach() is less flexible than some other methods, it’s straightforward and useful for running operations that produce side effects, such as logging or updating values.

Example:

const numbers = [1, 2, 3, 4];
numbers.forEach(num => console.log(num * 2)); // 2, 4, 6, 8
Enter fullscreen mode Exit fullscreen mode

Explanation:

In this example, forEach() doubles each number in the numbers array and logs the result to the console.

8. concat()

Description:

concat() merges two or more arrays into a new array.

Why It’s Important:

concat() is invaluable for combining datasets without altering the original arrays, preserving immutability.

Example:

const array1 = [1, 2];
const array2 = [3, 4];
const combined = array1.concat(array2);
console.log(combined); // [1, 2, 3, 4]
Enter fullscreen mode Exit fullscreen mode

Explanation:

Here, concat() combines array1 and array2 into a new array without modifying the original arrays.

9. slice()

Description:

slice() returns a shallow copy of a portion of an array into a new array.

Why It’s Important:

slice() is ideal for creating subarrays without altering the original array, making it a safe method for extracting data.

Example:

const fruits = ['apple', 'banana', 'orange', 'grape'];
const citrus = fruits.slice(2, 4);
console.log(citrus); // ['orange', 'grape']
Enter fullscreen mode Exit fullscreen mode

Explanation:

In this example, slice() extracts the elements from index 2 to 4 (excluding 4) from the fruits array.

10. splice()

Description:

splice() changes the contents of an array by removing or replacing existing elements and/or adding new elements.

Why It’s Important:

splice() is powerful for in-place edits of an array, but its mutative nature should be used with care to avoid unintended side effects.

Example:

const numbers = [1, 2, 3, 4, 5];
numbers.splice(2, 1, 99);
console.log(numbers); // [1, 2, 99, 4, 5]
Enter fullscreen mode Exit fullscreen mode

Explanation:

Here, splice() removes one element at index 2 and replaces it with 99.

11. includes()

Description:

includes() checks if an array includes a certain element, returning true or false.

Why It’s Important:

includes() is a simple yet powerful method for existence checks, making your code more readable compared to using indexOf.

Example:

const fruits = ['apple', 'banana', 'orange'];
console.log(fruits.includes('banana')); // true
Enter fullscreen mode Exit fullscreen mode

Explanation:

In this example, includes() checks if the fruits array contains the element 'banana'.

12. indexOf()

Description:

indexOf() returns the first index at which a given element can be found in the array, or -1 if it is not present.

Why It’s Important:

indexOf() is useful for finding the position of an element in an array, especially when you need the index for further operations.

Example:

const numbers = [1, 2, 3, 4];
const index = numbers.indexOf(3);
console.log(index); // 2
Enter fullscreen mode Exit fullscreen mode

Explanation:

Here, indexOf() returns the index of the first occurrence of the number 3 in the numbers array.

13. lastIndexOf()

Description:

lastIndexOf() returns the last index at which a given element can be found in the array, or -1 if it is not present.

Why It’s Important:

lastIndexOf() is similar to indexOf(), but it searches the array from the end towards the beginning, making it useful when you need to find the last occurrence of an element.

Example:

const numbers = [1, 2, 3, 4, 3];
const index = numbers.lastIndexOf(3);
console.log(index); // 4
Enter fullscreen mode Exit fullscreen mode

Explanation:

In this example, lastIndexOf() finds the last occurrence of the number 3 in the numbers array, returning the index 4.

14. join()

Description:

join() joins all elements of an array into a string, separated by a specified separator.

Why It’s Important:

join() is excellent for converting an array into a string, which is especially useful for displaying or formatting data.

Example:

const words = ['Hello', 'world'];
const sentence = words.join(' ');
console.log(sentence); // "Hello world"
Enter fullscreen mode Exit fullscreen mode

Explanation:

Here, join() concatenates the elements of the words array into a single string, with each word separated by a space.

15. reverse()

Description:

reverse() reverses the order of the elements in an array in place.

Why It’s Important:

reverse() can be useful when you need to process or display data in the opposite order, although its mutative nature requires careful use.

Example:

const numbers = [1, 2, 3];
numbers.reverse();
console.log(numbers); // [3, 2, 1]
Enter fullscreen mode Exit fullscreen mode

Explanation:

In this example, reverse() reverses the order of elements in the numbers array, modifying the original array.

Conclusion

Mastering these 15 JavaScript array functions will greatly enhance your ability to manipulate data efficiently and write clean, maintainable code. As a senior developer, having these functions in your toolkit allows you to handle complex data operations with ease, making your code more robust and scalable.


Start Your JavaScript Journey

If you're new to JavaScript or want a refresher, visit my blog on BuyMeACoffee to get started with the basics.

👉 Introduction to JavaScript: Your First Steps in Coding

Series Index

Part Title Link
1 Ditch Passwords: Add Facial Recognition to Your Website with FACEIO Read
2 Modern API Development with Node.js, Express, and TypeScript using Clean Architecture Read
3 The Ultimate Git Command Cheatsheet Read
4 Top 12 JavaScript Resources for Learning and Mastery Read
5 Angular vs. React: A Comprehensive Comparison Read
6 Top 10 JavaScript Best Practices for Writing Clean Code Read
7 Top 20 JavaScript Tricks and Tips for Every Developer 🚀 Read
8 8 Exciting New JavaScript Concepts You Need to Know Read
9 Top 7 Tips for Managing State in JavaScript Applications Read
10 🔒 Essential Node.js Security Best Practices Read
11 10 Best Practices for Optimizing Angular Performance Read
12 Top 10 React Performance Optimization Techniques Read
13 Top 15 JavaScript Projects to Boost Your Portfolio Read
14 6 Repositories To Master Node.js Read
15 Best 6 Repositories To Master Next.js Read
16 Top 5 JavaScript Libraries for Building Interactive UI Read
17 Top 3 JavaScript Concepts Every Developer Should Know Read
18 20 Ways to Improve Node.js Performance at Scale Read
19 Boost Your Node.js App Performance with Compression Middleware Read
20 Understanding Dijkstra's Algorithm: A Step-by-Step Guide Read
21 Understanding NPM and NVM: Essential Tools for Node.js Development Read

Follow and Subscribe:

Comments 34 total

  • Kat
    KatAug 14, 2024

    Thanks for the list - certainly some things for me to try here!

  • Chandan
    ChandanAug 15, 2024

    Very informative.
    Thanks for Sharing 🤝🏻

  • SORUJ MAHMUD
    SORUJ MAHMUDAug 15, 2024

    Useful

  • Petr Fischer
    Petr FischerAug 15, 2024

    Eh... So... In short: every developer should read the javascript documentation for Array and Hash... Surprising! What an article!

  • Alex Petrik
    Alex PetrikAug 15, 2024

    sigh, just reiterating a well-known topic?

  • Allen G. Clarke
    Allen G. ClarkeAug 15, 2024

    Calling it array methods would be okay

  • Andrew Tirpok
    Andrew TirpokAug 15, 2024

    Nice refresher! Sometimes I forget some of these exist. Also, for...of is useful as well.

  • Henok Emyaye
    Henok EmyayeAug 15, 2024

    That's helpful thanks🙏

  • PetruLunic
    PetruLunicAug 15, 2024

    These should know every junior

  • Shamsul Arefin
    Shamsul ArefinAug 15, 2024

    Fantastic

  • Antony Ilin
    Antony IlinAug 16, 2024

    nice article!

  • richant febriel
    richant febrielAug 16, 2024

    thanks for the explaination, but i still confuse about splice(),

    const numbers = [1, 2, 3, 4, 5];
    numbers.splice(2, 1, 99);
    console.log(numbers); // [1, 2, 99, 4, 5]

    in splice parameter, it say '2' for index 2 which means refer to '3', and '99' parameter is refer to what number will be changed to. but '1' in parameter means to what? can someone explain me

    btw, sorry for my bad english

    • Dipak Ahirav
      Dipak AhiravAug 16, 2024

      Thank you for your question! @richantfebriel

      The second parameter in splice() specifies the number of elements to remove starting at the index given by the first parameter. For example:

      const numbers = [1, 2, 3, 4, 5];
      numbers.splice(2, 1, 99);
      console.log(numbers); // [1, 2, 99, 4, 5]
      
      Enter fullscreen mode Exit fullscreen mode

      Here, 1 means remove one element (which is 3). If you change 1 to 2:

      const numbers = [1, 2, 3, 4, 5];
      numbers.splice(2, 2, 99);
      console.log(numbers); // [1, 2, 99, 5]
      
      Enter fullscreen mode Exit fullscreen mode

      This removes two elements (3 and 4), and then inserts 99.

      I hope this clears up the confusion!

  • Syed Muhammad Ali Raza
    Syed Muhammad Ali RazaAug 16, 2024

    Thanks for sharing

  • Wudpecker
    WudpeckerAug 16, 2024

    Cool!

  • NIKHIL CM
    NIKHIL CMAug 16, 2024

    Appreciate your effort, but it is not specific to Seniors, every junior devs (should) knows this too. Also, there are several articles about array methods already in dev.to

  • АнонимAug 16, 2024

    [hidden by post author]

  • АнонимAug 16, 2024

    [hidden by post author]

  • Tracy Gilmore
    Tracy GilmoreAug 16, 2024

    Nice article Dipak,
    For those wanting to know more on this topic, I recommend visiting the authoritative web site: MDN JavaScript Array.
    I think it is also worth noting that some developers will highlight the fact that methods such as forEach perform worse than a regular for loop. However, I would argue:

    • If you want performance why are you writing JavaScript (side note, I Love JS).
    • There should be a balance in the code between performance and maintainability.

    I would go further to suggest that the declarative style of forEach and map etc. is easier to read and comprehend, but that might just be me.

    On the performance issue, one should ask the question "How performant does it need to be?" The usual answer for frontend is "fast enough so the user is not waiting and wondering if the browser has crashed". If the functionality really needs to be in the browser there are other options than using JS in the main thread such as Web Workers or even Web Assembly. On the backend there is no real reason (if performance really is paramount) to be using JS, there are plenty of other options.

    Regards.

  • Aavash Parajuli
    Aavash ParajuliAug 16, 2024

    Reach++

  • Helio Alves
    Helio AlvesAug 16, 2024

    Really, senior developers should know these? I think every developer should know some of them, others shouldn't be used since they mutate the array and we should instead use toSlice, toSort, etc which don't mutate the array.

  • Ger San
    Ger SanAug 16, 2024

    Magnifico, conciso y preciso, una guia de consulta rapida.Mil gracias PURA VIDA

    • Dipak Ahirav
      Dipak AhiravAug 17, 2024

      Thank you so much! I'm really glad you found it helpful. Pura vida!

  • shy
    shyAug 17, 2024

    对于我这样的初学者来说,这也是有必要掌握的

  • MsM Robin
    MsM RobinAug 18, 2024

    Great, But these are the basic functions. This should be only for junior devs. Those who are senior devs already know all of the functions.

  • David Miller
    David MillerAug 18, 2024

    As a junior dev, I appreciate the curated list for refreshment purposes. A bit easier of a read than MDN docs.

  • mohamed karim
    mohamed karimAug 18, 2024

    Thank for sharing

  • roshan khan
    roshan khanAug 19, 2024

    thanks for the share. this list will help me immensely!

  • João Angelo
    João AngeloAug 19, 2024

    Hi Dipak Ahirav,
    Top, very nice and helpful !
    Thanks for sharing.

  • Matt Blais
    Matt BlaisAug 19, 2024

    Don't forget sort()

Add comment