Introduction
Arrays are one of the most commonly used data structures in JavaScript. Native array methods perform common operations like mapping, filtering, sorting etc. to manipulate array data.
Learn about the most essential JavaScript array methods like map, filter, reduce, join, slice etc. This detailed guide with code examples covers how to manipulate arrays in JavaScript using push, pop, shift, unshift, indexOf, includes and more array functions. Understand how to iterate, add/remove, join, sort, reduce and transform array data programmatically.
Creating Arrays
Arrays can be created using square brackets:
let fruits = ['Apple', 'Banana', 'Orange'];
let mixed = [10, 'Hello', true];
This creates an array of elements that can be accessed via indices:
console.log(fruits[0]); // Apple
Array constructor can also be used:
let items = new Array(1, 2, 3);
Useful Array Properties
Some useful properties include:
length
– Gets the number of elementspush()/pop()
– Add/remove from endunshift()/shift()
– Add/remove from beginningindexOf()
– Find index of element
JavaScript Array Methods
Adding Elements: push() and unshift()
Elements can be added using push()
and unshift()
:
let fruits = ['Apple'];
fruits.push('Banana'); // ['Apple', 'Banana']
fruits.unshift('Mango'); // ['Mango', 'Apple', 'Banana']
push()
inserts at end while unshift()
inserts at beginning.
Removing Elements: pop() and shift()
Elements can be removed using pop()
and shift()
:
let fruits = ['Apple', 'Mango', 'Banana'];
fruits.pop(); // Removes 'Banana'
fruits.shift(); // Removes 'Apple'
pop()
removes the last element while shift()
removes the first element.
Slicing and Splitting Arrays
slice()
extracts a slice of the array:
let fruits = ['Apple', 'Mango', 'Orange'];
fruits.slice(0, 2); // ['Apple', 'Mango']
split()
splits a string into an array:
'Apple,Mango'.split(','); // ['Apple', 'Mango']
Finding Index: indexOf()
indexOf()
finds the index of an item:
let fruits = ['Apple', 'Mango', 'Apple'];
fruits.indexOf('Mango'); // 1
fruits.indexOf('Banana'); // -1 if not found
Checking for Existence: includes()
includes()
checks if an element exists:
let fruits = ['Apple', 'Mango', 'Orange'];
fruits.includes('Mango'); // true
fruits.includes('Banana'); // false
Joining Arrays: join()
join()
creates a string from an array by joining elements:
let fruits = ['Apple', 'Mango', 'Orange'];
fruits.join(', '); // 'Apple, Mango, Orange'
fruits.join(' + '); // 'Apple + Mango + Orange'
Mapping Array Elements: map()
map()
transforms array elements using a function:
const numbers = [1, 2, 3];
const doubled = numbers.map(x => x * 2); // [2, 4, 6]
This leaves original array unchanged while returning a new mapped array.
Filtering Arrays: filter()
filter()
filters elements based on criteria:
const ages = [32, 15, 19, 22];
const adults = ages.filter(age => age >= 18); // [32, 19, 22]
Elements that pass the criteria are returned in a new array.
Reducing to Values: reduce()
reduce()
reduces array to a single value by iterating:
const numbers = [1, 2, 3];
const sum = numbers.reduce((sum, x) => sum + x, 0); // 6
The accumulator sum
keeps track of the final result.
Sorting Arrays: sort()
sort()
sorts the elements alphabetically or numerically:
const fruits = ['Banana', 'Orange', 'Apple'];
fruits.sort(); // ['Apple', 'Banana', 'Orange']
const points = [40, 100, 1, 5, 25, 10];
points.sort((a, b) => a - b); // [1, 5, 10, 25, 40, 100]
A compare function can be passed for custom sorting logic.
Useful Utility Methods
Method | Description |
---|---|
concat() | Joins arrays |
every() | Checks if all pass test |
some() | Checks if any pass test |
find() | Finds based on test |
findIndex() | Finds index based on test |
flat() | Flattens nested arrays |
These utility methods perform common array operations succinctly.
Frequently Asked Questions
- What is the difference between push() and unshift()?
push() appends elements to the end while unshift() appends elements to the beginning.
- How do you combine multiple arrays?
The concat() method can be used to join arrays by concatenating them.
- What is the best way to iterate over arrays?
Using a basic for loop or foreach loop are good ways to iterate over arrays.
- Can arrays contain mixed data types?
Yes, JavaScript arrays are untyped and can include a mix of different primitive and object data types.
- How do you make a copy of an array?
Using the slice() method without arguments copies the entire array quickly. Alternately, the spread operator or Array.from() can be used.
JavaScript arrays provide a ton of inbuilt flexibility to create, manipulate and analyze data programmatically.
Conclusion
JavaScript arrays provide a host of useful methods to manipulate data easily. Mastering array methods like filter, map, reduce, sort etc. unlocks the ability to efficiently process arrays in your programs. The full documentation lists even more methods available. Combining arrays with other native features like objects and loops enables building robust applications.