1
0
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:
jbranchaud
2016-03-13 10:27:54 -05:00
parent 3327d999b7
commit a77e6f47de
2 changed files with 26 additions and 1 deletions

View File

@@ -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)

View 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.