Selecionar Chaves de Objeto Correspondentes

Beginner

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

Introdução

Neste laboratório, exploraremos como usar a função pickBy() para criar um novo objeto composto apenas pelos pares chave-valor para os quais uma determinada função retorna um valor verdadeiro (truthy). Essa função pode ser útil em cenários onde você precisa filtrar certas propriedades de um objeto com base em certos critérios. Aprenderemos como usar Object.keys(), Array.prototype.filter() e Array.prototype.reduce() para realizar essa tarefa.

Função para selecionar chaves de objeto que correspondem a uma condição dada

Para selecionar chaves de objeto que correspondem a uma condição dada, use a função pickBy(). Esta função cria um novo objeto composto pelas propriedades para as quais a função fornecida retorna um valor verdadeiro (truthy).

  • Use Object.keys() e Array.prototype.filter() para remover as chaves para as quais fn retorna um valor falso (falsy).
  • Use Array.prototype.reduce() para converter as chaves filtradas de volta em um objeto com os pares chave-valor correspondentes.
  • A função de callback é invocada com dois argumentos: (valor, chave).

Aqui está o código para a função pickBy():

const pickBy = (obj, fn) =>
  Object.keys(obj)
    .filter((k) => fn(obj[k], k))
    .reduce((acc, key) => ((acc[key] = obj[key]), acc), {});

Você pode usar esta função para selecionar chaves que correspondem a uma condição. Por exemplo:

pickBy({ a: 1, b: "2", c: 3 }, (x) => typeof x === "number");
// { 'a': 1, 'c': 3 }

Resumo

Parabéns! Você concluiu o laboratório Pick Matching Object Keys. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.