freeCodeCamp/curriculum/challenges/portuguese/02-javascript-algorithms-an.../basic-data-structures/remove-items-using-splice.p...

3.0 KiB

id title challengeType videoUrl localeTitle
587d78b2367417b2b2512b10 Remove Items Using splice() 1 Remover itens usando splice ()

Description

Ok, aprendemos como remover elementos do início e do fim de arrays usando shift() e pop() , 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 splice() entra. splice() nos permite fazer exatamente isso: remover qualquer número de elementos consecutivos de qualquer lugar em um array. splice() pode levar até 3 parâmetros, mas por enquanto, vamos nos concentrar apenas no primeiro 2. Os dois primeiros parâmetros de splice() são inteiros que representam índices, ou posições, do array que splice() está sendo chamado a. E lembre-se, as matrizes são indexadas com zero , portanto, para indicar o primeiro elemento de uma matriz, usaríamos 0 . O primeiro parâmetro do splice() 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:
vamos array = ['hoje', 'foi', 'não', 'so', 'ótimo'];

array.splice (2, 2);
// remove 2 elementos começando com o terceiro elemento
// array agora é igual a ['today', 'was', 'great']
splice() não apenas modifica o array que está sendo chamado, mas também retorna um novo array contendo o valor dos elementos removidos:
deixe array = ['eu', 'sou', 'sentindo', 'realmente', 'feliz'];

deixe newArray = array.splice (3, 2);
// newArray é igual a ['really', 'happy']

Instructions

Nós definimos uma função, sumOfTen , que usa um array como argumento e retorna a soma dos elementos do array. Modifique a função, usando splice() , para que ela retorne um valor de 10 .

Tests

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");'

Challenge Seed

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]));

Solution

// solution required