Skip to content

Instantly share code, notes, and snippets.

@tizmagik
Created August 13, 2016 03:22
Show Gist options
  • Star 31 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save tizmagik/19ba6516064a046a37aff57c7c65c9cd to your computer and use it in GitHub Desktop.
Save tizmagik/19ba6516064a046a37aff57c7c65c9cd to your computer and use it in GitHub Desktop.
ES6 Last Item in Map()
// Since ES6 Map()'s' retain their order of insertion, it can sometimes be useful to get the last item or value inserted:
export const getLastItemInMap = map => Array.from(map)[map.size-1]
export const getLastKeyInMap = map => Array.from(map)[map.size-1][0]
export const getLastValueInMap = map => Array.from(map)[map.size-1][1]
// Obviously getLastKey and getLastValue can reuse getLastItem, but for maximum portability I opted for verbosity.
@Holybasil
Copy link

Nice 😝

@Binary-Bytes
Copy link

Thank you so much!

@faustienf
Copy link

faustienf commented Aug 1, 2022

const [lastKey, lastValue] = [...map].at(-1) || []
// Key only
const [lastKey] = [...map].at(-1) || []
// Value only
const [, lastValue] = [...map].at(-1) || []
// set
const lastValue = [...set].at(-1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment