82 lines
2.0 KiB
Markdown
Raw Normal View History

2018-10-12 15:37:13 -04:00
---
title: Use Destructuring Assignment with the Rest Operator to Reassign Array Elements
---
## Use Destructuring Assignment with the Rest Operator to Reassign Array Elements
2018-10-12 15:37:13 -04:00
Remember that the rest operator allows for variable numbers of arguments. In this challenge, you have to get rid of the first two elements of an array.
## Hint 1:
Assign the first two elements to two random variables.
## Hint 2:
Set the remaining part of the array to `...arr`.
## Hint 3:
2018-10-12 15:37:13 -04:00
Use destructuring to create the `arr` variable:
2018-10-12 15:37:13 -04:00
```javascript
function removeFirstTwo(list) {
"use strict";
// change code below this line
const [arr] = list; // change this
// change code above this line
return arr;
}
```
## Hint 4:
2018-10-12 15:37:13 -04:00
Spread the `list` parameter values into `arr`.
2018-10-12 15:37:13 -04:00
```javascript
function removeFirstTwo(list) {
"use strict";
// change code below this line
const [...arr] = list; // change this
// change code above this line
return arr;
}
```
## Spoiler Alert - Solution Ahead!
You can use random variables to omit the first two values:
2018-10-12 15:37:13 -04:00
```javascript
const source = [1,2,3,4,5,6,7,8,9,10];
2018-10-12 15:37:13 -04:00
function removeFirstTwo(list) {
"use strict";
2018-10-12 15:37:13 -04:00
// change code below this line
const [a, b, ...arr] = list;
2018-10-12 15:37:13 -04:00
// change code above this line
return arr;
}
const arr = removeFirstTwo(source);
console.log(arr); // should be [3,4,5,6,7,8,9,10]
console.log(source); // should be [1,2,3,4,5,6,7,8,9,10];
2018-10-12 15:37:13 -04:00
```
## Solution 2:
2018-10-12 15:37:13 -04:00
You can also exclude the first two elements of the `arr` array using `,,`.
2018-10-12 15:37:13 -04:00
```javascript
const source = [1,2,3,4,5,6,7,8,9,10];
2018-10-12 15:37:13 -04:00
function removeFirstTwo(list) {
"use strict";
// change code below this line
const [,,...arr] = list; // change this
2018-10-12 15:37:13 -04:00
// change code above this line
return arr;
}
const arr = removeFirstTwo(source);
console.log(arr); // should be [3,4,5,6,7,8,9,10]
console.log(source); // should be [1,2,3,4,5,6,7,8,9,10];
2018-10-12 15:37:13 -04:00
```
### Resources
- ["Destructuring assignment" - *MDN JavaScript reference*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)