Removendo Elementos de Array Usando Callback

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, trabalharemos em um desafio de programação JavaScript que envolve a manipulação de arrays. O objetivo deste laboratório é escrever uma função que remove elementos do final de um array até que uma condição específica seja atendida, e retorna os elementos removidos. Você usará vários métodos de array JavaScript e uma função de callback para completar este desafio.

Removendo Elementos de um Array do Fim até que uma Condição seja Atendida

Para começar a praticar a codificação, abra o Terminal/SSH e digite node.

Aqui está uma função que remove elementos do final de um array até que a função passada retorne false. Em seguida, ela retorna os elementos removidos.

Para usá-la, crie uma cópia invertida do array usando o operador spread (...) e Array.prototype.reverse(). Em seguida, itere sobre a cópia invertida usando um loop for...of sobre Array.prototype.entries() até que o valor retornado da função seja falsy.

A função de callback, fn, aceita um único argumento que é o valor do elemento. Finalmente, retorne os elementos removidos usando Array.prototype.slice().

const takeRightWhile = (arr, fn) => {
  for (const [i, val] of [...arr].reverse().entries())
    if (!fn(val)) return i === 0 ? [] : arr.slice(-i);
  return arr;
};

Aqui está um exemplo de como usar a função:

takeRightWhile([1, 2, 3, 4], (n) => n >= 3); // [3, 4]

Resumo

Parabéns! Você concluiu o laboratório Remover Elementos de Array do Fim Enquanto a Condição é Atendida. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.