Aprenda Lodash: _.dropWhile, remova itens de um array até que uma condição seja atendida

De acordo com a documentação do lodash, _.dropwWhile cria uma parte do array, excluindo os elementos removidos do início. Os elementos são removidos até que o predicado retorne falsey. O predicado é chamado com três argumentos: (value, index, array).

Isso é diferente de filter porque verifica cada item até que a condição seja atendida, como filtrar até encontrar uma correspondência; depois, para de fazer a verificação e retorna o restante do array, mesmo que haja itens mais adiante que possam atender à condição.

Argumentos

  • array (Array): O array a ser verificado.
  • predicate: Uma função que será executada a cada iteração.

Exemplo do mundo real

Você trabalha em uma concessionária de carros. Um homem chega e diz que não acredita que veículos elétricos existam. Você pretende provar que ele está errado. Você vai até o pátio e verifica o primeiro veículo. Ele usa gasolina... o cara está ficando convencido, então você verifica o segundo veículo, que também usa gasolina. Finalmente, você verifica o terceiro veículo e ele é elétrico.

Você removeu os dois primeiros itens enquanto eles não eram elétricos; embora possa haver veículos a gasolina mais adiante, você provou seu ponto e, neste caso, retornaria a lista de veículos restantes.

Exemplos

var users = [
  { "user": "barney",  "active": false },
  { "user": "fred",    "active": false },
  { "user": "pebbles", "active": true }
]

dropWhile(users, function(o) { return !o.active; })
 ➞ [{ "user": "pebbles", "active": true }]

Observações

  • Não tente importar lodash; você está simplesmente escrevendo sua própria versão.
  • Toda esta série de desafios pode ser encontrada aqui.