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

220
Vistas
Forma correcta de alternar entre dos valores de cadena con expresión ternaria

Estoy tratando de tener una cadena que alterne entre dos valores. he declarado como ternario

 public position: string = (this.position == "positionOne" ? "positionOne" : "positionTwo");

Lo que me gustaría tener una función para cambiar directamente de "posición uno" a "posición dos" (valor de la cadena). Algo así como `

 togglePosition = function() {this.position = !this.position}

y luego toma la cadena opuesta como valor. ¿O necesito hacer la evaluación completa también si se declara como ternario? y luego ver if (position = "positionOne") ... hacer lo que else ... o si no al revés. ¿Usted sabe lo que quiero decir? :) ¿Qué solución me sugieres?

muchas gracias desde ya

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Podría usar un objeto y las claves como el valor deseado.

 function toggle(v) { return { positionOne: 'positionTwo', positionTwo: 'positionOne' }[v]; } var position = 'positionOne'; console.log(position); position = toggle(position); console.log(position); position = toggle(position); console.log(position);

about 4 years ago · Santiago Trujillo Denunciar

0

Como alternativa, podría usar esto (en los casos en que los valores no coincidan "a mitad de camino"):

 function toggle(pos) { return 'positionOnepositionTwo'.replace(pos, ''); } pos = 'positionOne'; console.log(pos = toggle(pos)); console.log(pos = toggle(pos)); console.log(pos = toggle(pos));

Alternativa con find

 function toggle(pos) { return ['positionOne','positionTwo'].find(x => x !== pos); } pos = 'positionOne'; console.log(pos = toggle(pos)); console.log(pos = toggle(pos)); console.log(pos = toggle(pos));

about 4 years ago · Santiago Trujillo Denunciar

0

Por supuesto, podría usar Array.find para hacer lo mismo que mencionó Nina:

 var log = console.log; function toggle(v) { return ['positionOne','positionTwo'].find(s=>s!=v); } var position = 'positionOne'; log( position ); position = toggle(position); log( position ); position = toggle(position); log( position );

about 4 years ago · Santiago Trujillo 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