fix(guide): ES6 destructuring assignment with the rest operator (#35681)

* fix(guide): ES6 destructuring assignment with the rest operator

Minor fixes/enhancements.

* Update guide/english/certifications/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-operator-to-reassign-array-elements/index.md

Co-Authored-By: AdrianSkar <adrian@adrianskar.com>

* Update guide/english/certifications/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-operator-to-reassign-array-elements/index.md

Co-Authored-By: AdrianSkar <adrian@adrianskar.com>

* Update guide/english/certifications/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-operator-to-reassign-array-elements/index.md

Co-Authored-By: AdrianSkar <adrian@adrianskar.com>

* Fixes for solutions 

Copy/paste friendly code as discussed.

* Update guide/english/certifications/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-operator-to-reassign-array-elements/index.md

Co-Authored-By: AdrianSkar <adrian@adrianskar.com>
This commit is contained in:
Adrian Skar
2019-03-29 17:40:13 +01:00
committed by Randell Dawson
parent 914a7c522d
commit 08bdc8640e

View File

@ -2,7 +2,7 @@
title: Use Destructuring Assignment with the Rest Operator to Reassign Array Elements title: Use Destructuring Assignment with the Rest Operator to Reassign Array Elements
--- ---
## Use Destructuring Assignment with the Rest Operator to Reassign Array Elements ## Use Destructuring Assignment with the Rest Operator to Reassign Array Elements
<!-- The article goes here, in GitHub-flavored Markdown. Feel free to add YouTube videos, images, and CodePen/JSBin embeds -->
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. 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: ## Hint 1:
@ -13,10 +13,9 @@ Assign the first two elements to two random variables.
Set the remaining part of the array to `...arr`. Set the remaining part of the array to `...arr`.
======= ## Hint 3:
## Hint 1
Use destructuring to create the `arr` variable. Use destructuring to create the `arr` variable:
```javascript ```javascript
function removeFirstTwo(list) { function removeFirstTwo(list) {
@ -28,9 +27,9 @@ function removeFirstTwo(list) {
} }
``` ```
## Hint 2 ## Hint 4:
Spread the `list` parameter into `arr`. Spread the `list` parameter values into `arr`.
```javascript ```javascript
function removeFirstTwo(list) { function removeFirstTwo(list) {
@ -42,23 +41,12 @@ function removeFirstTwo(list) {
} }
``` ```
## Hint 3
Exclude the first two elements of the `arr` array with `,,`.
```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! ## Spoiler Alert - Solution Ahead!
You can use random variables to omit the first two values:
```javascript ```javascript
const source = [1,2,3,4,5,6,7,8,9,10];
function removeFirstTwo(list) { function removeFirstTwo(list) {
"use strict"; "use strict";
// change code below this line // change code below this line
@ -66,4 +54,28 @@ function removeFirstTwo(list) {
// change code above this line // change code above this line
return arr; 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];
``` ```
## Solution 2:
You can also exclude the first two elements of the `arr` array using `,,`.
```javascript
const source = [1,2,3,4,5,6,7,8,9,10];
function removeFirstTwo(list) {
"use strict";
// change code below this line
const [,,...arr] = list; // change this
// 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];
```
### Resources
- ["Destructuring assignment" - *MDN JavaScript reference*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)