28 Javascript Array Methods: A Cheat Sheet for Developer
Let's understand javascript array functions and how to use them.
Array.map()
Returns a new array with the results of calling a provided function on every element in this array.
const list = [ðŦ, ðŦ, ðŦ, ðŦ];
list.map((âŠïļ) => ð); // [ð, ð, ð, ð]
// Code
const list = [1, 2, 3, 4];
list.map((el) => el * 2); // [2, 4, 6, 8]
Array.filter()
Returns a new array with all elements that pass the test implemented by the provided function.
const list = [ð, ðŦ, ð, ðŦ];
list.filter((âŠïļ) => âŠïļ === ð); // [ð, ð]
// Code
const list = [1, 2, 3, 4];
list.filter((el) => el % 2 === 0); // [2, 4]
Array.reduce()
Reduce the array to a single value. The value returned by the function is stored in an accumulator (result/total).
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.reduce((âŽïļ, âŠïļ) => âŽïļ + âŠïļ); // ð + ðŦ + ð + ðŦ + ðĪŠ
// OR
const list = [1, 2, 3, 4, 5];
list.reduce((total, item) => total + item, 0); // 15
Array.reduceRight()
Executes a reducer function (that you provide) on each element of the array resulting in a single output value(from right to left).
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.reduceRight((âŽïļ, âŠïļ) => âŽïļ + âŠïļ); // ðĪŠ + ðŦ + ð + ðŦ + ð
// Code
const list = [1, 2, 3, 4, 5];
list.reduceRight((total, item) => total + item, 0); // 15
Array.fill()
Fill the elements in an array with a static value.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.fill(ð); // [ð, ð, ð, ð, ð]
// Code
const list = [1, 2, 3, 4, 5];
list.fill(0); // [0, 0, 0, 0, 0]
Array.find()
Returns the value of the first element in the array that satisfies the provided testing function. Otherwise undefined is returned.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.find((âŠïļ) => âŠïļ === ð); // ð
list.find((âŠïļ) => âŠïļ === ð); // undefined
// Code
const list = [1, 2, 3, 4, 5];
list.find((el) => el === 3); // 3
list.find((el) => el === 6); // undefined
Array.indexOf()
Returns the first index at which a given element can be found in the array, or -1 if it is not present.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.indexOf(ð); // 0
list.indexOf(ðĄ); // -1
// Code
const list = [1, 2, 3, 4, 5];
list.indexOf(3); // 2
list.indexOf(6); // -1
Array.lastIndexOf()
Returns the last index at which a given element can be found in the array, or -1 if it is not present. The array is searched backwards, starting at fromIndex.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.lastIndexOf(ð); // 3
list.lastIndexOf(ð, 1); // 0
// Code
const list = [1, 2, 3, 4, 5];
list.lastIndexOf(3); // 2
list.lastIndexOf(3, 1); // -1
Array.findIndex()
Returns the index of the first element in the array that satisfies the provided testing function. Otherwise -1 is returned.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.findIndex((âŠïļ) => âŠïļ === ð); // 0
// You might be thinking how it's different from `indexOf` ðĪ
const array = [5, 12, 8, 130, 44];
array.findIndex((element) => element > 13); // 3
// OR
const array = [{
id: ð
}, {
id: ðŦ
}, {
id: ðĪŠ
}];
array.findIndex((element) => element.id === ðĪŠ); // 2
Array.includes()
Returns true if the given element is present in the array.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.includes(ð); // true
// Code
const list = [1, 2, 3, 4, 5];
list.includes(3); // true
list.includes(6); // false
Array.pop()
Removes the last element from an array and returns that element.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.pop(); // ðĪŠ
list; // [ð, ðŦ, ð, ðŦ]
// Code
const list = [1, 2, 3, 4, 5];
list.pop(); // 5
list; // [1, 2, 3, 4]
Array.push()
Appends new elements to the end of an array, and returns the new length.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.push(ðĄ); // 5
list; // [ð, ðŦ, ð, ðŦ, ðĪŠ, ðĄ]
// Code
const list = [1, 2, 3, 4, 5];
list.push(6); // 6
list; // [1, 2, 3, 4, 5, 6]
Array.shift()
Removes the first element from an array and returns that element.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.shift(); // ð
list; // [ðŦ, ð, ðŦ, ðĪŠ]
// Code
const list = [1, 2, 3, 4, 5];
list.shift(); // 1
list; // [2, 3, 4, 5]
Array.unshift()
Adds new elements to the beginning of an array, and returns the new length.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.unshift(ðĄ); // 6
list; // [ðĄ, ð, ðŦ, ð, ðŦ, ðĪŠ]
// Code
const list = [1, 2, 3, 4, 5];
list.unshift(0); // 6
list; // [0, 1, 2, 3, 4, 5]
Array.splice()
Changes the contents of an array by removing or replacing existing elements and/or adding new elements in place.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.splice(1, 2); // [ð, ðŦ]
list; // [ð, ðŦ, ðĪŠ]
// Code
const list = [1, 2, 3, 4, 5];
list.splice(1, 2); // [2, 3]
list; // [1, 4, 5]
Array.slice()
Returns a shallow copy of a portion of an array into a new array object selected from begin to end (end not included). The original array will not be modified.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.slice(1, 3); // [ðŦ, ð]
list; // [ð, ðŦ, ð, ðŦ, ðĪŠ]
// Code
const list = [1, 2, 3, 4, 5];
list.slice(1, 3); // [2, 3]
list; // [1, 2, 3, 4, 5]
Array.join()
Joins all elements of an array into a string.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.join('ã°ïļ'); // "ðã°ïļðŦã°ïļðã°ïļðŦã°ïļðĪŠ"
// Code
const list = [1, 2, 3, 4, 5];
list.join(', '); // "1, 2, 3, 4, 5"
Array.reverse()
Reverses the order of the elements in an array.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.reverse(); // [ðĪŠ, ðŦ, ð, ðŦ, ð]
list; // [ðĪŠ, ðŦ, ð, ðŦ, ð]
// Code
const list = [1, 2, 3, 4, 5];
list.reverse(); // [5, 4, 3, 2, 1]
list; // [5, 4, 3, 2, 1]
Array.sort()
Sorts the elements of an array in place and returns the array. The default sort order is according to string Unicode code points.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.sort(); // [ð, ð, ðŦ, ðŦ, ðĪŠ]
// This make more sense ðĪ
const array = ['D', 'B', 'A', 'C'];
array.sort(); // ð ['A', 'B', 'C', 'D']
// OR
const array = [4, 1, 3, 2, 10];
array.sort(); // ð§ [1, 10, 2, 3, 4]
array.sort((a, b) => a - b); // ð [1, 2, 3, 4, 10]
Array.some()
Returns true if at least one element in the array passes the test implemented by the provided function.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.some((âŠïļ) => âŠïļ === ð); // true
list.some((âŠïļ) => âŠïļ === ðĄ); // false
// Code
const list = [1, 2, 3, 4, 5];
list.some((el) => el === 3); // true
list.some((el) => el === 6); // false
Array.every()
Returns true if all elements in the array pass the test implemented by the provided function.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.every((âŠïļ) => âŠïļ === ð); // false
const list = [ð, ð, ð, ð, ð];
list.every((âŠïļ) => âŠïļ === ð); // true
// Code
const list = [1, 2, 3, 4, 5];
list.every((el) => el === 3); // false
const list = [2, 4, 6, 8, 10];
list.every((el) => el%2 === 0); // true
Array.from()
Creates a new array from an array-like or iterable object.
const list = ððŦððŦðĪŠ;
Array.from(list); // [ð, ðŦ, ð, ðŦ, ðĪŠ]
const set = new Set(['ð', 'ðŦ', 'ð', 'ðŦ', 'ðĪŠ']);
Array.from(set); // [ð, ðŦ, ðĪŠ]
const range = (n) => Array.from({ length: n }, (_, i) => i + 1);
console.log(range(10)); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Array.of()
Creates a new array with a variable number of arguments, regardless of number or type of the arguments.
const list = Array.of(ð, ðŦ, ð, ðŦ, ðĪŠ);
list; // [ð, ðŦ, ð, ðŦ, ðĪŠ]
// Code
const list = Array.of(1, 2, 3, 4, 5);
list; // [1, 2, 3, 4, 5]
Array.isArray()
Returns true if the given value is an array.
Array.isArray([ð, ðŦ, ð, ðŦ, ðĪŠ]); // true
Array.isArray(ðĪŠ); // false
// Code
Array.isArray([1, 2, 3, 4, 5]); // true
Array.isArray(5); // false
Array.at()
Returns a value at the specified index.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.at(1); // ðŦ
// Return from last ðĪ
list.at(-1); // ðĪŠ
list.at(-2); // ðŦ
// Code
const list = [1, 2, 3, 4, 5];
list.at(1); // 2
list.at(-1); // 5
list.at(-2); // 4
Array.copyWithin()
Copies array elements within the array. Returns the modified array.
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.copyWithin(1, 3); // [ð, ð, ðĪŠ, ðŦ, ðĪŠ]
const list = [ð, ðŦ, ð, ðŦ, ðĪŠ];
list.copyWithin(0, 3, 4); // [ðŦ, ðŦ, ð, ðŦ, ðĪŠ]
// Code
const list = [1, 2, 3, 4, 5];
list.copyWithin(0, 3, 4); // [4, 2, 3, 4, 5]
NOTE: ðĪ
- first argument is the target at which to start copying elements from.
- second argument is the index at which to start copying elements from.
- third argument is the index at which to stop copying elements from.
Array.flat()
Returns a new array with all sub-array elements concatenated into it recursively up to the specified depth.
const list = [ð, ðŦ, [ð, ðŦ, ðĪŠ]];
list.flat(Infinity); // [ð, ðŦ, ð, ðŦ, ðĪŠ]
// Code
const list = [1, 2, [3, 4, [5, 6]]];
list.flat(Infinity); // [1, 2, 3, 4, 5, 6]
Array.flatMap()
Returns a new array formed by applying a given callback function to each element of the array,
const list = [ð, ðŦ, [ð, ðŦ, ðĪŠ]];
list.flatMap((âŠïļ) => [âŠïļ, âŠïļ + âŠïļ ]); // [ð, ðð, ðŦ, ðŦðŦ, ð, ðð, ðŦ, ðŦðŦ, ðĪŠ, ðĪŠðĪŠ]
// Code
const list = [1, 2, 3];
list.flatMap((el) => [el, el * el]); // [1, 1, 2, 4, 3, 9]