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

115
Vistas
Cómo reconstruir la condición con una matriz asociativa para enumerar

Hola chicos, tengo una condición y funciona, pero necesito reconstruirla para enumerar y la enumeración no funciona con mi condición anterior. líder de equipo pd dijo

  1. Mi caso de trabajo es:
 const basketAccepts = { 0: ['Values'], 1: ['Rows', 'Columns'] } const basketAcceptValues = isOver && visualType === 'matrix' && !basketAccepts[Number(!dragItem.Measure)].includes(basketName)

Cuando muevo algún div, algunas cosas CSS están sucediendo

  • basketName: cadena (valores, filas, columnas) puede ser todo o uno depende de visualType
  • dragItem.Measure = booleano

Así que necesito reconstruirlo para el mismo caso pero para enum .

 enum basketAccepts { 'Values' = 0, 'Rows' = 1, 'Columns' = 1,

}

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Utilicé el operador ternario para decidir el valor de cada propiedad de enumeración como si estuviera incluida o no en el índice cero de basketAccepts siendo uno o cero respectivamente. Entonces, esta lógica asume que todas esas 3 condiciones aparecerán en el otro conjunto [1] si no están contenidas en el primero.

De hecho, no pude verificarlo porque no estoy acostumbrado a TypeScript. Por favor, hágamelo saber si funcionó.

 const basketAccepts = { 0: ['Values'], 1: ['Rows', 'Columns'] }; enum basketAccepts { //use value 0 if 'Values' appears in basketAccepts[0] otherwise 1 'Values' = basketAccepts[0].includes('Values') ? 0 : 1, //use value 0 if 'Rows' appears in basketAccepts[0] otherwise 1 'Rows' = basketAccepts[0].includes('Rows') ? 0 : 1, //use value 0 if 'Columns' appears in basketAccepts[0] otherwise 1 'Columns' = basketAccepts[0].includes('Columns') ? 0 : 1 } console.log(basketAccepts);

about 4 years ago · Juan Pablo Isaza Denunciar

0

No estoy seguro de por qué después de usar enumeraciones, las enumeraciones en TS no son estándar y se implementaron antes de que Dev decidiera seguir estrictamente las propuestas de ES, por lo que personalmente las evitaría.

Pero si aún debe usarlos, esto podría ayudar.

Si observa en qué convierte TS su enumeración ->

 { "0": "Values", "1": "Columns", "Values": 0, "Rows": 1, "Columns": 1 }

Lo que podríamos hacer entonces es usar Object.entries y Array.some .

p.ej..

 enum basketAccepts { 'Values' = 0, 'Rows' = 1, 'Columns' = 1, } const basketName = 'Rows'; const measure = true; console.log( Object.entries(basketAccepts). some(([k,v ]) => k == basketName && Boolean(v) == measure) );
about 4 years ago · Juan Pablo Isaza Denunciar

0

Gracias chicos por la ayuda, de todos modos lo rehice de otra manera. Espero que ayude a alguien.

 export enum FieldType { Dimension, Measure } const fieldCompatibilities = { [FieldType.Dimension]: ['Columns', 'Rows'], [FieldType.Measure]: ['Values'] } const basketAcceptValues = isOver && visualType === 'matrix' && !fieldCompatibilities[Number(dragItem.Measure)].includes(basketName)
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