Mutator Methods (Modify the original array)
-
push(element1, ..., elementN)Adds elements to the end. Returns: New length.
arr.push(5); // [1,2,3] → [1,2,3,5]
-
pop()Removes the last element. Returns: Removed element.
arr.pop(); // [1,2,3] → [1,2]
-
shift()Removes the first element. Returns: Removed element.
arr.shift(); // [1,2,3] → [2,3]
-
unshift(element1, ..., elementN)Adds elements to the start. Returns: New length.
arr.unshift(0); // [1,2,3] → [0,1,2,3]
-
splice(start, deleteCount, ...items)Adds/removes elements at start index. Returns: Array of removed elements.
arr.splice(1, 1, 'a'); // [1,2,3] → [1,'a',3]
-
sort([compareFunction])Sorts elements (lexicographically by default). Returns: Sorted array (mutates original).
arr.sort((a, b) => a - b); // [3,1,2] → [1,2,3]
-
reverse()Reverses the array. Returns: Reversed array (mutates original).
arr.reverse(); // [1,2,3] → [3,2,1]
-
fill(value, start?, end?)Fills array withvaluebetweenstartandend.
arr.fill(0); // [1,2,3] → [0,0,0]
-
copyWithin(target, start, end?)Copies elements within the array.
[1,2,3,4].copyWithin(0, 2); // → [3,4,3,4]
Accessor Methods (Return new data without modifying the array)
- concat(...arrays) Merges arrays. Returns: New merged array.
arr.concat([4,5]); // [1,2,3] → [1,2,3,4,5]
-
slice(start?, end?)Returns subarray betweenstartandend.
arr.slice(1, 3); // [1,2,3,4] → [2,3]
-
join(separator?)Joins elements into a string (default:,).
arr.join('-'); // [1,2,3] → "1-2-3"
-
includes(element)Checks if array containselement. Returns:true/false.
arr.includes(2); // [1,2,3] → true
-
indexOf(element)Returns first index ofelementor-1.
arr.indexOf(2); // [1,2,3] → 1
-
lastIndexOf(element)Returns last index ofelementor-1.
[1,2,2,3].lastIndexOf(2); // → 2
-
toString()Same asjoin().
[1,2,3].toString(); // "1,2,3"
-
toSorted() (ES2023)Non-mutating version ofsort().
const sorted = arr.toSorted();
-
toReversed() (ES2023)Non-mutating version ofreverse().
const reversed = arr.toReversed();
Iteration Methods
-
forEach(callback)Executescallbackfor each element. Returns:undefined.
arr.forEach(x => console.log(x));
-
map(callback)Returns new array with transformed elements.
const doubled = arr.map(x => x * 2);
- filter(callback)
Returns elements that pass
callbacktest.
const evens = arr.filter(x => x % 2 === 0);
-
reduce(callback, initialValue?)Reduces array to a single value.
const sum = arr.reduce((acc, x) => acc + x, 0);
-
find(callback)Returns first element passingcallbacktest.
const firstEven = arr.find(x => x % 2 === 0);
-
some(callback)Checks if at least oneelementpasses test. Returns:true/false.
const hasEven = arr.some(x => x % 2 === 0);
-
every(callback)Checks if all elements pass test.
const allEven = arr.every(x => x % 2 === 0);
-
flat(depth = 1)Flattens nested arrays.
[1, [2]].flat(); // → [1,2]
- flatMap(callback) Maps then flattens the result.
arr.flatMap(x => [x, x*2]); // [1,2] → [1,2,2,4]
Static Methods
-
Array.isArray(value)Checks if value is an array.
Array.isArray([1,2]); // → true
-
Array.from(arrayLike)Creates an array from array-like/iterable.
Array.from('123'); // → ['1','2','3']
-
Array.of(...elements)Creates an array from arguments.
Array.of(1,2,3); // → [1,2,3]
ES6+ Additions
-
at(index)Returns element at index (supports negatives).
[1,2,3].at(-1); // → 3
-
findLast(callback) (ES2023)Returns last element passing test.
[1,2,2,3].findLast(x => x === 2); // → 2
Key Notes:
-
Mutators: Modify the original array (e.g.,
push,sort). -
Accessors: Return new data without changing the original (e.g.,
slice,concat). -
Iterators: Process elements via callbacks (e.g.,
map,filter). -
Use toSorted(),toReversed(), etc., for non-mutating operations (ES2023+).
Top comments (3)
That is actually very useful, thank you
It's an interesting collection, but why are they all numbered 1?

It's Just typing
Some comments may only be visible to logged-in visitors. Sign in to view all comments.