20+ JavaScript Built-in Array Methods

20+ JavaScript Built-in Array Methods

Arrays are one of the most used data structures in JavaScript. In this article, we explore built-in array methods in JavaScript.

filter

The filter() method creates a new array with all elements that satisfies a given condition. The filter() does not change the original array.

const numbers = [8, 5, 11,16];

const filteredNumbers = numbers.filter(number => number > 10)  // [11,16]

map

The map() method creates new array by calling a function on every element of original array. It changes the original array.

const numbers = [1,4,16,25,49]

const squaredNumbers = numbers.map((number) => Math.sqrt(number)) // [1,2,4,5,7]

reduce

The reduce() reduces original array to a single value by calling a reducer function. It does not change the original array.

const numbers = [0, 1, 3, 5, 8, 14];

const sum = numbers.reduce((accumulator, item) => accumulator + item);  //31

find

The find() methods returns the first element in an array that satisfy the given condition. If no value satisfy the provided condition, undefined will be returned. The find() method does not change the original array.

const numbers = [8, 5, 11,16];

const result = numbers.filter(number => number > 10)    // "11"

pop

The pop() method removes the last element of a given array and returns the element. The pop() method changes the original array.

const numbers = [2,3,7,8,9,11,12]

const removedNumber = numbers.pop(); //12

shift

The shift() method removes the first element of an array and returns the removed element. It changes the original array.

const numbers = [2,3,7,8,9,11,12]

const firstElement = numbers.shift() // 2

push

The push() method add one or more elements to the end of an array and returns the new length of the array. It changes the original array.

const numbers = [2,3,7,8,9,11,12]

const numbersLength = numbers.push(17,22) 

console.log(numbersLength) // Prints "9"

unshift

The unshift() method adds one or more element to the beginning of an array and return the new length of the array.

const numbers = [2,3,7,8,9,11,12]

const numbersLength = numbers.unshift(17,22) 

console.log(numbersLength) // Prints "9"

includes

The includes() method checks if a certain value is among array elements and returns false or true. When comparing strings and characters, includes() is case-sensitive.

[0, 1, 2, 5, 8, 10].includes(2)      // true

If provided with a specific index, it searches from that index and ignores previous indexes.

[0, 1, 2, 5, 8, 10].includes(2, 3) // false

forEach

The forEach() methods execute a function on every element of an array.

const numbers = [3,7,6]

number.forEach((number,index) => {
   console.log(number, index) // Prints "0" "3" "1" "7" "2" "6"
})

slice

The slice() method return a new array from the original array from start to end (end is not included), where start and end are index of items in that array. The original array will not be modified.

Syntax

slice(start, end)

start and end are both optional. If start is omitted or undefined, slice starts from index 0. If end is omitted or undefined, slice extracts through the end of the array.

const numbers = [2,3,7,8,9,11,12]

const slicedNumbers = numbers.slice(2,5) // slicedNumbers [7,8,9]

splice

The splice() method has three applications:

  • Deleting elements from an array
  • Adding elements to an array
  • Replacing elements in an array

The splice() method changes the original array.

const numbers = [2,3,7,8,9,11,12]

const deletedNumbers = numbers.splice(0,2) 

// numbers [7,8,9,11,12]
// deletedNumbers [2,3]
const numbers = [2,3,7,8,9,11,12]
const addedNumber = numbers.splice(2,0,25)

// numbers [2,3,25,7,8,9,11,12]
const numbers = [2,3,7,8,9,11,12]
const addedNumber = numbers.splice(2,1,25)

// numbers [2,3,25,8,9,11,12]

indexOf

The indexOf() method searches for an element and returns its position. If not found. it returns -1. The indexOf() method uses strict equality to compare given value to elements of array.

const numbers = [2,3,7,8,9,11,12]

numbers.indexOf(8) // 3
numbers.indexOf(17) // -1

concat

The concat() method merges two or more arrays and returns a new array. The concat() method does not change original arrays.

const array1 = [0,1,2]
const array2 = [3,4,5]

const numbers = array1.concat(array2)  

console.log(numbers) // Output [0,1,2,3,4,5]

sort

The sort() methods sorts elements of an array. It changes the original array. The default sort order is ascending.

const numbers = [3,1,2,0]

numbers.sort() // numbers [0,1,2,3]

reverse

The reverse() method reverses the order of elements in an array. It changes the original array.

const numbers = [0,1,2,3]
const reversedNumber = numbers.reverse() 

//reversedNumbers [3,1,2,0]

join

The join() method creates a new string by concatenating all elements of an array and returns that string. The default separator is comma (,), but it can be anything. If the given array has only one element, that element will be returned without any separators.

const numbers = [1,2,3,4]
numbers.join()  // '1,2,3,4'
numbers.join(", ") // '1, 2, 3, 4'
numbers.join("") // '1234'

toString

The toString() methods converts an array to string and returns the result. It does not change the original array.

const numbers = [2,3,7,8,9,11,12]

const result  = numbers.toString()

//result "2,3,7,8,9,11,12"

some

The some() method checks whether at least one element of array passes provided test and returns true. If nothing found, it returns false. It does not change original array.

[2,3,7,8,9,11,12].some((x) => x > 30) // false
[2,3,7,8,9,11,12].some((x) => x > 10) //true

every

The every() method tests whether all elements of an array pass the provided test. It does not modify the original array.

[7,7,7].every(num => num === 5) //true

fill

The fill() method converts all elements of an array to a static value. You can define start and end for the part of array you want to change. It modifies the original array.

[1,2,3,4].fill(7)  // [7,7,7,7]
[1,2,3,4].fill(7, 1)  // [1,7,7,7]

findIndex

The findIndex() method returns the index of the first element in an array that satisfy the provided criteria. If nothing found, -1 will be returned.

const numbers = [2,3,7,8,9,11,12]

const result = numbers.findIndex(8)  

// result "3"