Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

250
Visualizações
¿Cómo describir la condición if de una manera más eficiente en JS?

Estoy comprobando tres variables diferentes que contienen una serie de cadenas como la siguiente.

 var a = ["ghi",dwe"] var b = ["ghsj"] var c = ["gdjr"] var result; // result array

Estoy comprobando cada vez si las variables a, b, c no están indefinidas y si tienen algún valor. Simplemente estoy presionando una cadena para cada variable en la matriz de resultados.

A continuación se muestra la línea de código para el mismo.

 if(a !== undefined && a.length > 0) { result.push("Astring"); } if(b !== undefined && b.length > 0) { result.push("Bstring"); } if(c!== undefined && c.length > 0) { result.push("Cstring"); }

El resultado esperado debe ser si las var a, b, c están definidas y no están vacías, entonces la variable de matriz de resultados debe contener un valor como el siguiente

 ["Astring","BString","CString"]

¿Hay una forma más eficiente de describir este código? Aquí solo estoy verificando todas y cada una de las variables usando la condición if. Además, estoy restringido de alguna manera ya que estoy usando un motor Rhino js versión 1.7.12.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Podrías crear un objeto con tus datos iniciales. Luego itere sobre él y agregue la clave (por ejemplo, a , b o c ) si coincide con su condición.

Aquí hay una demostración rápida:

 // Initial Data const a = ['ghi', 'dwe']; const b = ['ghsj']; const c = ['gdjr']; // Store intial within an array const abc = {a, b, c}; const result = []; // Append each data item that present, is array, and not empty Object.keys(abc).forEach((letterKey) => { const content = abc[letterKey]; if(Array.isArray(content) && content.length > 0) { result.push(letterKey); } }); // Print results console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório

0

Usaría un objeto en lugar de una matriz, para que se puedan especificar los elementos de resultado.

 var a = ["ghi","dwe"] var b = ["ghsj"] var c = ["gdjr"] mapping = { "AString": a, "BString": b, "CString": c } var result = []; // result array for (let [key, value] of Object.entries(mapping)) { if (value !== undefined && value.length > 0) { result.push(key) } } console.log(result)

about 4 years ago · Juan Pablo Isaza Relatório

0

primero almacenará las 3 variables en una lista y luego las recorrerá con el mapa

 var a = ["ghi","dwe"] var b = ["ghsj"] var c = ["gdjr"] var result = []; let list = [a,b,c] list.map(item => { if(item !== undefined && a.length > 0) { result.push(item) } })
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda