How can I remove a specific item from an array in JavaScript?
Simply exclude an item from an array by leveraging the filter() method:
Copy and paste the code, substitute items and 5 with your actual array and rogue item to efficiently banish all matches.
Quick one-time removal
For a one-off removal, fetch the position of the undesired item via indexOf() and then employ splice() to remove it:
Mass removal: Return of the filter
If you're faced with multiple unwanted duplicates, a mass purge can be performed by cycling through the array using filter():
Soldiering down the array: Reverse loop
In cases where the order matters, set up a reverse iterative loop to ensure accurate index accounting:
For TypeScript enthusiasts: Enforcing type-safety
In TypeScript, type safety is paramount:
Making a clean copy with filter
The filter() alternative offers a clean removal method producing a fresh array:
Order of removal: Right to Left
When scrubbing through an array, a reverse loop helps maintain index accuracy:
Defenestrating the extremes with pop() and shift()
For removing elements from both ends of an array, pop() and shift() can throw them overboard:
Catching the deviants
Trap and keep the removed item for future reference:
Big data, bigger problems
Beware, large arrays can sting with performance penalties. Just remember, filter() creates a new offshoot array.
Going in fresh: Cloning arrays
Curating a clone can be as easy as using the spread operator, ...:
Mind the generation gap
includes() and filter() are ES6 kids on the block; older browsers may need polyfills to understand them.
Edge Cases: Mind the exceptions
Safeguard your code from anomalies:
- If the element can't be found,
indexOf()will give-1. - Separating
nullcan demand special handling. - Multiple removals can make indices jumpy; take caution.
Sparse Arrays: Keep off the grass
Ever thought of using delete array[index] on scattered arrays?
It wipes out the value but leaves an unfilled hole in place, the length unchanged.
Was this article helpful?