Chase AdamsChase Adams
AboutContentPromptsPrototypesNewsletter

List of Destructive and Non-Destructive JavaScript Array Methods

Essays and updates on product, engineering, and AI by Chase Adams.

1 minute read

Post Details

Published
Jan 5, 2023
Category
Engineering
Share
ChatGPT

Latest Posts

A 2x2 Framework for Navigating AI Disruption

A 2x2 Framework for Navigating AI Disruption

Not all change requires the same response. A new framework for diagnosing which kind of disruption you're facing—and choosing the right strategy.

I can never remember which JavaScript Array methods are destructive and which are non-destructive.

A destructive method modifies the original array that the method is being run on. An example of this is pop:

const instruments = ["Guitar", "Drums", "Keyboard"];
instruments.pop();
// instruments = ["Guitar", "Drums"]

A non-destructive method does not modify the original array and instead returns a shallow copy of the original value. An example of this is map:


const instruments = ["Guitar", "Drums", "Keyboard"];
instruments.map(instrument => `${instrument} toot`);
// instruments = ["Guitar", "Drums", "Keyboard"]

Destructive Methods

  • copyWithin
  • fill
  • pop
  • push
  • reverse
  • shift
  • sort
  • splice
  • unshift

Non-Destructive Methods

  • concat
  • entries
  • every
  • filter
  • find
  • findIndex
  • findLast
  • findLastIndex
  • flat
  • flatMap
  • forEach
  • Array.from()
  • includes
  • indexOf
  • join
  • keys
  • lastIndexOf
  • map
  • reduce
  • reduceRight
  • slice
  • some
  • toLocaleString
  • values
AboutAI Workflow SpecContentStacksNewsletterPromptsRSS