Sé que para resultados singulares, puedo hacer algo como esto:
return "this is a condition test within a string - " + {0:'⚪',1:'🟡',2:'🔴',3:'🟢',8:'',9:''}[event.FlagInd.toString()] donde 0 , 1 , 2 etc son valores de la variable event.FlagInd , y los resultados son los valores dentro de las cadenas entrecomilladas como '⚪' etc.
Entonces, en el ejemplo anterior, un valor de 1 en event.FlagID , reemplaza el 1 con 🟡 - una bola amarilla
Estoy tratando de hacer algo similar, para "activar o desactivar" HTML real dentro de una cadena.
Mis intentos actuales devuelven cadenas no válidas o las cadenas no se forman correctamente.
return "<strong style=\"font-size:18px;\">" + { 0: '', default: "<a href=\" + "https://www.marinetraffic.com/en/ais/details/ships/imo:" + event.imo + "/vessel:" + event.text + "\" target=\"_blank\">" + event.text + "</a>"' }[event.imo.toString()] + "</strong>" + ... etc Lo que intento hacer es devolver una cadena vacía si el valor de event.IMO = 0 , pero para devolver toda esta cadena html, si el valor es distinto de 0...
"<a href=\"https://www.marinetraffic.com/en/ais/details/ships/imo:" + event.imo + "/vessel:" + event.text + "\" target=\"_blank\">" + event.text + "</a>"Gracias a @Ouroborus, pude hacerlo... según este ejemplo:
function myResult(IMO, text){ return "Answer is " + (IMO.toString() == 0 ? "nothing here" : "<strong style=\"font-size:18px;\">" + "<a href=\"https://www.marinetraffic.com/en/ais/details/ships/imo:" + IMO + "/vessel:" + text + "\" target=\"_blank\">" + text + "</a>" + "</strong>") } document.write(myResult("0123","myShip"))Cambiar el valor de "0123" a "0" me da "nada aquí", de lo contrario, es el HTML por completo. Solo tengo que asegurarme de formatear el HTML como una cadena correctamente.