Files

79 lines
1.7 KiB
Markdown
Raw Normal View History

2018-10-12 15:37:13 -04:00
---
title: Use Destructuring Assignment with the Rest Parameter to Reassign Array Elements
2018-10-12 15:37:13 -04:00
---
# Use Destructuring Assignment with the Rest Parameter to Reassign Array Elements
---
## Problem Explanation
Remember that the rest parameter allows for variable numbers of arguments. In this challenge, you have to get rid of the first two elements of an array.
---
## Hints
### Hint 1
2018-10-12 15:37:13 -04:00
Assign the first two elements to two random variables.
### Hint 2
2018-10-12 15:37:13 -04:00
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;
}
```
2018-10-12 15:37:13 -04:00
You can use random variables to omit the first two values:
2018-10-12 15:37:13 -04:00
---
## Solutions
<details><summary>Solution 1 (Click to Show/Hide)</summary>
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 [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
```
You can also exclude the first two elements of the `arr` array using `,,`.
#### Relevant Links
- ["Destructuring assignment" - *MDN JavaScript reference*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)
</details>