Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

113
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!