Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

248
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda