mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 07:08:01 +00:00
Add Immutable Remove With The Spread Operator as a javascript til
This commit is contained in:
@@ -7,7 +7,7 @@ variety of languages and technologies. These are things that don't really
|
||||
warrant a full blog post. These are mostly things I learn by pairing with
|
||||
smart people at [Hashrocket](http://hashrocket.com/).
|
||||
|
||||
_362 TILs and counting..._
|
||||
_363 TILs and counting..._
|
||||
|
||||
---
|
||||
|
||||
@@ -121,6 +121,7 @@ _362 TILs and counting..._
|
||||
- [Computed Property Names In ES6](javascript/computed-property-names-in-es6.md)
|
||||
- [Create An Array Containing 1 To N](javascript/create-an-array-containing-1-to-n.md)
|
||||
- [Enable ES7 Transforms With react-rails](javascript/enable-es7-transforms-with-react-rails.md)
|
||||
- [Immutable Remove With The Spread Operator](javascript/immutable-remove-with-the-spread-operator.md)
|
||||
- [Random Cannot Be Seeded](javascript/random-cannot-be-seeded.md)
|
||||
- [Splat Arguments To A Function](javascript/splat-arguments-to-a-function.md)
|
||||
- [Throttling A Function Call](javascript/throttling-a-function-call.md)
|
||||
|
||||
24
javascript/immutable-remove-with-the-spread-operator.md
Normal file
24
javascript/immutable-remove-with-the-spread-operator.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Immutable Remove With The Spread Operator
|
||||
|
||||
ES6 introduces the [spread
|
||||
operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator)
|
||||
which allows you to expand arrays in place for function calls, array
|
||||
composition, array destructuring, etc. One thing the spread operator allows
|
||||
you to concisely do with array composition is perform immutable operations
|
||||
on arrays. For instance, to remove an item from an array by index, you can
|
||||
throw together the following function.
|
||||
|
||||
```javascript
|
||||
const remove = (items,index) => {
|
||||
return [...items.slice(0,index),
|
||||
...items.slice(index+1,items.length)];
|
||||
};
|
||||
|
||||
const list = [1,2,3,4,5];
|
||||
remove(list, 2);
|
||||
// [1,2,3,4]
|
||||
list
|
||||
// [1,2,3,4,5]
|
||||
```
|
||||
|
||||
It only took a couple lines of code and immutability is baked in.
|
||||
Reference in New Issue
Block a user