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

118
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 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