"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como adicionar propriedades no objeto condicionalmente

Como adicionar propriedades no objeto condicionalmente

Publicado em 2024-11-03
Navegar:702

How to add properties in object conditionally

Como adicionar propriedades no objeto condicionalmente

Ao construir um objeto em JavaScript ou TypeScript, é comum adicionar propriedades condicionalmente, com base na avaliação de expressões. Isso normalmente é feito usando o operador spread (...) em combinação com condições lógicas.

const condition = (a, b) → a › b; const obj = {
          a: 1, b: 2,
          ... (false && {c: 3}), 
          ... (true && {d: 4}), 
          ... (condition (1, 2) && {e: 5}),
        }; 
console.log(obj); // output: { a: 1, b: 2, d: 4 }

Explicação

  • false && {c: 3}: Isso é avaliado como falso, o que significa que o objeto {c: 3} não é espalhado em obj.

  • true && {d: 4}: Como a condição é verdadeira, {d: 4} é espalhado em obj.

  • condition(1, 2) && {e: 5}: A função de condição avalia se a > b. Como 1 > 2 é falso, o objeto {e: 5} não é espalhado.

Essa técnica é uma maneira poderosa de manter a definição de seu objeto limpa e concisa enquanto adiciona propriedades dinamicamente com base em várias condições.

Saída

O objeto final fica assim:
{a: 1, b: 2, d: 4 }

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/wadie/how-to-add-properties-in-object-conditionally-11n6?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3