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']
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
. sumOfTen
deve retornar 10
testString: 'assert.strictEqual(sumOfTen([2, 5, 1, 5, 2, 1]), 10, "sumOfTen
should return 10");'
- text: A função sumOfTen
deve utilizar o método splice()
testString: 'assert.notStrictEqual(sumOfTen.toString().search(/\.splice\(/), -1, "The sumOfTen
function should utilize the splice()
method");'
```