59 lines
2.4 KiB
Markdown
59 lines
2.4 KiB
Markdown
|
---
|
||
|
id: 587d7b7a367417b2b2512b12
|
||
|
title: Copy Array Items Using slice()
|
||
|
challengeType: 1
|
||
|
videoUrl: ''
|
||
|
localeTitle: Copiar itens de matriz usando slice ()
|
||
|
---
|
||
|
|
||
|
## Description
|
||
|
<section id="description"> O próximo método que abordaremos é <code>slice()</code> . <code>slice()</code> , em vez de modificar uma matriz, copia ou <em>extrai</em> um determinado número de elementos para uma nova matriz, deixando a matriz em que é chamada intocada. <code>slice()</code> usa apenas dois parâmetros - o primeiro é o índice no qual iniciar a extração e o segundo é o índice no qual interromper a extração (a extração ocorrerá até, mas não incluindo o elemento nesse índice). Considere isto: <blockquote> let weatherConditions = ['chuva', 'neve', 'granizo', 'granizo', 'claro']; <br><br> deixe todaysWeather = weatherConditions.slice (1, 3); <br> // todaysWeather é igual a ['snow', 'sleet']; <br> // weatherConditions ainda é igual a ['rain', 'snow', 'sleet', 'hail', 'clear'] <br></blockquote> Na verdade, criamos uma nova matriz extraindo elementos de uma matriz existente. </section>
|
||
|
|
||
|
## Instructions
|
||
|
<section id="instructions"> Definimos uma função, <code>forecast</code> , que usa um array como argumento. Modifique a função usando <code>slice()</code> para extrair informações da matriz de argumentos e retornar uma nova matriz que contenha os elementos <code>'warm'</code> e <code>'sunny'</code> . </section>
|
||
|
|
||
|
## Tests
|
||
|
<section id='tests'>
|
||
|
|
||
|
```yml
|
||
|
tests:
|
||
|
- text: '<code>forecast</code> deve retornar <code>["warm", "sunny"]</code>'
|
||
|
testString: 'assert.deepEqual(forecast(["cold", "rainy", "warm", "sunny", "cool", "thunderstorms"]), ["warm", "sunny"], "<code>forecast</code> should return <code>["warm", "sunny"]");'
|
||
|
- text: A função de <code>forecast</code> deve utilizar o método <code>slice()</code>
|
||
|
testString: 'assert(/\.slice\(/.test(code), "The <code>forecast</code> function should utilize the <code>slice()</code> method");'
|
||
|
|
||
|
```
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Challenge Seed
|
||
|
<section id='challengeSeed'>
|
||
|
|
||
|
<div id='js-seed'>
|
||
|
|
||
|
```js
|
||
|
function forecast(arr) {
|
||
|
// change code below this line
|
||
|
|
||
|
return arr;
|
||
|
}
|
||
|
|
||
|
// do not change code below this line
|
||
|
console.log(forecast(['cold', 'rainy', 'warm', 'sunny', 'cool', 'thunderstorms']));
|
||
|
|
||
|
```
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Solution
|
||
|
<section id='solution'>
|
||
|
|
||
|
```js
|
||
|
// solution required
|
||
|
```
|
||
|
</section>
|