Pular para o conteúdo principal

JS - Métodos de arrays - forEach, every e some

Nesse post veremos alguns métodos que nos permitem realizar iterações em nossos "arrays", esses métodos devem ser utilizados para percorrer os itens, diferente do que temos feito até agora com os laços.

forEach

Realiza iterações nos itens de um "array", esse método recebe uma função por parâmetro e essa função pode receber três parâmetros, sendo eles o item atual, o índice atual e o próprio "array", onde para cada item do "array" essa função será executada uma vez, tem como finalidade substituir os laços comuns vistos até aqui, já que o "forEach" além de mais elegante é mais performático:

var numeros = [1,2,3,4,5,6,7,8];
numeros.forEach(function(item, index, array) {
  console.log(item);
});


every

Realiza iterações nos itens de um "array", esse método recebe uma função por parâmetro e essa função pode receber um parâmetro, sendo ele o item atual, sua finalidade é retornar um valor booleano baseado em testes realizados em todos os itens do "array", para que o retorno seja verdadeiro todos os itens do "array" devem satisfazer as condições, caso um dos itens seja falso as comparações se encerram e é retornado falso:

numeros.every(function(item) {
  console.log(item);
  return item < 5;
});



some

Realiza iterações nos itens de um "array", esse método recebe uma função por parâmetro e essa função pode receber um parâmetro, sendo ele o item atual, sua finalidade é retornar um valor booleano baseado em testes realizados em alguns itens do "array", para que o retorno seja verdadeiro ao menos um dos itens do "array" deve satisfazer as condições, ao encontrar um verdadeiro as comparações se encerram e é retornado verdadeiro, caso todos os itens sejam falsos o retorno é falso:

numeros.some(function(item) {
  console.log(item);
  return item < 5;
});



Comentários

Mais visitadas

Aplicação Flask usando Nginx e Gunicorn

Aplicação Flask usando Nginx e Gunicorn Se você já desenvolveu uma aplicação Flask básica, sabe que o servidor de desenvolvimento embutido não é ideal para produção. Ele não é projetado para lidar com altos volumes de tráfego ou conexões simultâneas. Para tornar sua aplicação Flask mais robusta e pronta para produção, podemos usar o Gunicorn como servidor de aplicação e o Nginx como proxy reverso. Neste artigo, vamos adaptar o exemplo anterior ( Criando uma Aplicação CRUD com Flask, PostgreSQL e Docker ) para incluir o Nginx e o Gunicorn. O que são Nginx e Gunicorn? Gunicorn O Gunicorn (Green Unicorn) é um servidor de aplicação WSGI que roda aplicações Python como o Flask. Ele é eficiente e simples de configurar, lidando com múltiplas requisições ao mesmo tempo, algo que o servidor embutido do Flask não faz bem. Nginx O Nginx é um servidor web que atua como um proxy reverso. Ele recebe requisições HTTP e as encaminha ao Gunicorn. Além disso, o Nginx pode: Servir arquivos ...

Listar arquivos existentes em diretório (Delphi)

Mostraremos uma maneira simples e prática para listar o conteúdo de um diretório com a opção de incluir nessa listagem os arquivos de seus subdiretórios. No exemplo abaixo temos um Edit para receber o diretório a ser pesquisado um CheckBox para indicar se os subdiretórios entrarão na pesquisa um botão para efetuar a pesquisa e um Memo para listar os arquivos encontrados, no final um Edit que receberá o cálculo final (em bytes) da soma do tamanho dos arquivos. procedure TForm1.Button1Click(Sender: TObject); begin   tamanhoTotal := 0;   memLista.Lines.Clear;   ListarArquivos(edtDiretorio.Text, chkSub.Checked);   Edit1.Text := IntToStr( tamanhoTotal ); end; procedure TForm1.ListarArquivos(Diretorio: string; Sub:Boolean); var   F: TSearchRec;   Ret: Integer;   TempNome: string; begin   Ret := FindFirst(Diretorio+'\*.*', faAnyFile, F);   try     while Ret = 0 do ...

Limpando objetos dinamicamente (Delphi)

  Muitas vezes nos deparamos com situações onde devemos remover o conteúdo de determinados objetos, como por exemplo Edits ou mesmo Labels e dependendo da complexidade da tela setar manualmente cada campo pode ser trabalhoso.Sendo assim mostraremos hoje como montar um esquema automático e genérico para esse caso:   procedure TForm1.Button1Click(Sender: TObject);  procedure LimparEdits(AControl: TComponent); var    vLoop: Integer; begin     { ComponentCount retorna a qtde de componentes que o parent é o AControl, ou seja, somente os componentes que     estão ligados a ele }     for vLoop := 0 to AControl.ComponentCount-1 do      begin                                         ...