60 lines
3.0 KiB
Markdown
60 lines
3.0 KiB
Markdown
![]() |
---
|
||
|
id: 587d78b2367417b2b2512b10
|
||
|
title: Remove Items Using splice()
|
||
|
challengeType: 1
|
||
|
videoUrl: ''
|
||
|
localeTitle: Remover itens usando splice ()
|
||
|
---
|
||
|
|
||
|
## Description
|
||
|
<section id="description"> Ok, aprendemos como remover elementos do início e do fim de arrays usando <code>shift()</code> e <code>pop()</code> , mas e se quisermos remover um elemento de algum lugar no meio? Ou remover mais de um elemento de uma só vez? Bem, é aí que <code>splice()</code> entra. <code>splice()</code> nos permite fazer exatamente isso: <strong>remover qualquer número de elementos consecutivos</strong> de qualquer lugar em um array. <code>splice()</code> pode levar até 3 parâmetros, mas por enquanto, vamos nos concentrar apenas no primeiro 2. Os dois primeiros parâmetros de <code>splice()</code> são inteiros que representam índices, ou posições, do array que <code>splice()</code> está sendo chamado a. E lembre-se, as matrizes são <em>indexadas com zero</em> , portanto, para indicar o primeiro elemento de uma matriz, usaríamos <code>0</code> . O primeiro parâmetro do <code>splice()</code> representa o índice no array do qual começar a remover elementos, enquanto o segundo parâmetro indica o número de elementos a serem deletados. Por exemplo: <blockquote> vamos array = ['hoje', 'foi', 'não', 'so', 'ótimo']; <br><br> array.splice (2, 2); <br> // remove 2 elementos começando com o terceiro elemento <br> // array agora é igual a ['today', 'was', 'great'] </blockquote> <code>splice()</code> não apenas modifica o array que está sendo chamado, mas também retorna um novo array contendo o valor dos elementos removidos: <blockquote> deixe array = ['eu', 'sou', 'sentindo', 'realmente', 'feliz']; <br><br> deixe newArray = array.splice (3, 2); <br> // newArray é igual a ['really', 'happy'] </blockquote></section>
|
||
|
|
||
|
## Instructions
|
||
|
<section id="instructions"> Nós definimos uma função, <code>sumOfTen</code> , que usa um array como argumento e retorna a soma dos elementos do array. Modifique a função, usando <code>splice()</code> , para que ela retorne um valor de <code>10</code> . </section>
|
||
|
|
||
|
## Tests
|
||
|
<section id='tests'>
|
||
|
|
||
|
```yml
|
||
|
tests:
|
||
|
- text: <code>sumOfTen</code> deve retornar 10
|
||
|
testString: 'assert.strictEqual(sumOfTen([2, 5, 1, 5, 2, 1]), 10, "<code>sumOfTen</code> should return 10");'
|
||
|
- text: A função <code>sumOfTen</code> deve utilizar o método <code>splice()</code>
|
||
|
testString: 'assert.notStrictEqual(sumOfTen.toString().search(/\.splice\(/), -1, "The <code>sumOfTen</code> function should utilize the <code>splice()</code> method");'
|
||
|
|
||
|
```
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Challenge Seed
|
||
|
<section id='challengeSeed'>
|
||
|
|
||
|
<div id='js-seed'>
|
||
|
|
||
|
```js
|
||
|
function sumOfTen(arr) {
|
||
|
// change code below this line
|
||
|
|
||
|
// change code above this line
|
||
|
return arr.reduce((a, b) => a + b);
|
||
|
}
|
||
|
|
||
|
// do not change code below this line
|
||
|
console.log(sumOfTen([2, 5, 1, 5, 2, 1]));
|
||
|
|
||
|
```
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Solution
|
||
|
<section id='solution'>
|
||
|
|
||
|
```js
|
||
|
// solution required
|
||
|
```
|
||
|
</section>
|