This site runs best with JavaScript enabled.

# JavaScript Array methods

### July 07, 2021

I found myself referring to this cheat sheet by Axel Rauschmayer so much I thought I would share it:

# Cheat sheet: JavaScript Array methods

Deriving a new Array from an existing Array:

['■','●','▲'].slice(1, 3)['●','▲']
['■','●','■'].filter(x => x==='■')['■','■']
['▲','●'].map(x => x+x)['▲▲','●●']
['▲','●'].flatMap(x => [x,x])['▲','▲','●','●']

Computing a summary of an Array:

['■','●','▲'].some(x => x==='●')true
['■','●','▲'].every(x => x==='●')false
['■','●','▲'].join('-')'■-●-▲'
['■','●'].reduce((result,x) => result+x, '▲')'▲■●'
['■','●'].reduceRight((result,x) => result+x, '▲')'▲●■'

Changing all of an Array (the input Array is modified and returned):

['■','●','▲'].fill('●')['●','●','●']
['■','●','▲'].reverse()['▲','●','■']
['■','●','■'].sort()['■','■','●']

Finding Array elements:

['■','●','■'].includes('■')true
['■','●','■'].indexOf('■')0
['■','●','■'].lastIndexOf('■')2
['■','●','■'].find(x => x==='■')'■'
['■','●','■'].findIndex(x => x==='■')0

Listing elements (spreading via ... is needed because the methods return iterables):

[...['■','●','▲'].keys()][0,1,2]
[...['■','●','▲'].values()]['■','●','▲']
[...['■','●','▲'].entries()][[0,'■'],[1,'●'],[2,'▲']]

Adding or removing an element at either end of an Array:

arr=['■','●']; arr.push('▲'); arr ⟼ ['■','●','▲']
arr=['■','●','▲']; arr.pop(); arr ⟼ ['■','●']
arr=['■','●']; arr.unshift('▲'); arr ⟼ ['▲','■','●']
arr=['▲','■','●']; arr.shift(); arr ⟼ ['■','●']