Menu fechado

Arquitetos de Sistemas

Como filtrar array de objetos para outro array de objetos em js? ,javascript ,matrizes ,função ,objeto ,reduzir [RESOLVIDO]

Visualizando 0 resposta da discussão
  • Autor
    Posts
    • #82358 Responder
      Anderson Paraibano
      Participante

      Resumo:
      Neste artigo, vamos explorar como filtrar um array de objetos para obter outro array de objetos em JavaScript. Para realizar essa tarefa, iremos utilizar a função reduce juntamente com os conceitos de arrays e objetos. Ao final, você terá uma compreensão clara de como filtrar e criar um novo array com base em critérios específicos.

      Introdução:
      O JavaScript oferece uma ampla variedade de métodos e técnicas para manipular arrays e objetos. A filtragem de um array de objetos para criar outro array com base em certas condições é uma tarefa comum na programação JavaScript. A função reduce nos permite iterar sobre cada elemento do array e construir um novo array com base em critérios personalizados.

      A estrutura de um objeto em JavaScript é composta por pares de chave-valor, onde cada valor pode ser de qualquer tipo de dado, incluindo matrizes e outros objetos. Portanto, é possível filtrar um array de objetos com base em uma ou mais propriedades específicas desses objetos.

      Filtrando um array de objetos usando reduce:
      A função reduce é uma maneira poderosa de percorrer e transformar elementos de um array em um único valor. No entanto, também pode ser usada para criar um novo array com base em critérios de filtro.

      Vamos supor que temos um array de objetos representando pessoas, e queremos filtrar apenas as pessoas com idade superior a 18 anos. Podemos usar a função reduce para realizar essa tarefa da seguinte maneira:

      javascript
      Copy code
      const pessoas = [
      { nome: ‘João’, idade: 20 },
      { nome: ‘Maria’, idade: 17 },
      { nome: ‘Carlos’, idade: 25 },
      { nome: ‘Ana’, idade: 16 }
      ];

      const pessoasMaioresDe18 = pessoas.reduce((resultado, pessoa) => {
      if (pessoa.idade > 18) {
      resultado.push(pessoa);
      }
      return resultado;
      }, []);

      console.log(pessoasMaioresDe18);
      Neste exemplo, iniciamos com um array vazio como valor inicial do reduce (o segundo argumento, []). Em cada iteração, verificamos se a idade da pessoa é superior a 18 e, se for, adicionamos a pessoa ao array resultado. Ao final do processo, o reduce retorna o array pessoasMaioresDe18, que contém apenas as pessoas que atendem ao critério de idade.

      Personalizando o filtro:
      Além de filtrar com base em uma única condição, é possível personalizar o filtro para atender a outros critérios específicos. Por exemplo, podemos filtrar pessoas com idade entre 18 e 30 anos e que tenham o nome começando com a letra “A”. Vejamos como isso pode ser feito:

      javascript
      Copy code
      const pessoasFiltradas = pessoas.reduce((resultado, pessoa) => {
      if (pessoa.idade >= 18 && pessoa.idade <= 30 && pessoa.nome.charAt(0) === ‘A’) {
      resultado.push(pessoa);
      }
      return resultado;
      }, []);

      console.log(pessoasFiltradas);
      Neste exemplo, adicionamos mais duas condições ao filtro: pessoa.idade >= 18 && pessoa.idade <= 30 e pessoa.nome.charAt(0) === ‘A’. Isso garante que apenas as pessoas com idade entre 18 e 30 anos, cujos nomes começam com a letra “A”, sejam incluídas no novo array pessoasFiltradas.

      Conclusão:
      A filtragem de um array de objetos para criar outro array em JavaScript pode ser facilmente realizada utilizando a função reduce. Combinando a funcionalidade do reduce com as propriedades e métodos de objetos e arrays, é possível personalizar filtros com base em critérios específicos. Espero que este artigo tenha fornecido uma compreensão clara de como filtrar array de objetos para outro array de objetos em JavaScript, permitindo que você aplique esses conceitos em seus projetos futuros.

Visualizando 0 resposta da discussão
Responder a: Como filtrar array de objetos para outro array de objetos em js? ,javascript ,matrizes ,função ,objeto ,reduzir [RESOLVIDO]
Sua informação:





<a href="" title="" rel="" target=""> <blockquote cite=""> <code> <pre class=""> <em> <strong> <del datetime="" cite=""> <ins datetime="" cite=""> <ul> <ol start=""> <li> <img src="" border="" alt="" height="" width="">

Nova denúncia

Fechar