Files

53 lines
1.5 KiB
Markdown
Raw Normal View History

2018-10-12 15:37:13 -04:00
---
title: Use the Spread Operator to Evaluate Arrays In-Place
---
# Use the Spread Operator to Evaluate Arrays In-Place
2018-10-12 15:37:13 -04:00
#### Relevant Links
2018-10-12 15:37:13 -04:00
* [Spread Operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax "Mozilla Developer Network")
2018-10-12 15:37:13 -04:00
* [Spread Operator compared to Rest Parameter](https://stackoverflow.com/questions/33898512/spread-operator-vs-rest-parameter-in-es2015-es6 "Stack Overflow")
* <a href="http://www.youtube.com/watch?feature=player_embedded&v=iLx4ma8ZqvQ
2018-10-12 15:37:13 -04:00
" target="_blank"><img src="http://img.youtube.com/vi/iLx4ma8ZqvQ/0.jpg"
alt="Image of youtube video link spread and rest parameter " width="240" height="180" border="10" />ideo Explaining Spread Operator and Rest Parameter</a>
2018-10-12 15:37:13 -04:00
* [Apply Method](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply "Mozilla Developer Network")
2018-10-12 15:37:13 -04:00
Examples
2018-10-12 15:37:13 -04:00
```javascript
let numbers = [-12, 160, 0, -3, 51];
let minNum = Math.min.apply(null, numbers);
console.log(minNum); //-12
2018-10-12 15:37:13 -04:00
```
```javascript
let numbers = [-12, 160, 0, -3, 51];
let minNum = Math.min(numbers);
console.log(minNum); //NaN
2018-10-12 15:37:13 -04:00
```
```javascript
let numbers = [-12, 160, 0, -3, 51];
let minNum = Math.min(...numbers);
console.log(minNum); //-12
2018-10-12 15:37:13 -04:00
```
---
## Solutions
```javascript
const arr1 = ["JAN", "FEB", "MAR", "APR", "MAY"];
let arr2;
(function() {
"use strict";
arr2 = [...arr1]; // change this line
})();
console.log(arr2);
```
#### Code Explanation
* Unpacking the arr1 using the spread operator and then copying those values to arr2