Skip to content

Instantly share code, notes, and snippets.

@longnt80
Created November 10, 2017 07:49
Show Gist options
  • Save longnt80/faec57840a72c64c3ab7753114f464cf to your computer and use it in GitHub Desktop.
Save longnt80/faec57840a72c64c3ab7753114f464cf to your computer and use it in GitHub Desktop.
8 immutable array operations
clone = x => [...x]
push = y => x => [...x, y]
pop = x => x.slice(0, -1)
unshift = y => x => [y, ...x]
shift = x => x.slice(1)
sort = f => x => [...x].sort(f)
delete = i => x => [...x.slice(0, i), ...x.slide(i+1)]
splice = (s, c, ...y) => x => [...x.slice(0,s), ...y, ...x.slice(s+c)]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment