¿Puede decirme cómo reemplazar NaN con otro personaje?
Hay variables a las que se les asigna algún valor numérico.
Además, en la función, estas variables obtienen sus valores, que luego muestro en la tabla html. Pero, a veces, alguna variable (que sea la variable "d") - devuelve NaN.
Para solucionar esto, creé por separado una matriz con variables que ya tienen algunos valores.
Luego, comencé el ciclo de iteración. Si la condición devuelve NaN, debe reemplazarse con "-". Pero, no funciona.
UPD Lo más probable es que no aclaré correctamente por qué creé la matriz. Creé una matriz para iterar sobre todas las variables que tengo, y si alguna variable tiene NaN (nulo, indefinido), se le asignará el valor "-".
var a, b, c, d, x1, x2, x3, x4; var elem = document.getElementById.bind(document); function iFunc () { a = 1; b = 3; c = 2; d = NaN; x1 = elem('a1').innerHTML = a; x2 = elem('b1').innerHTML = b; x3 = elem('c1').innerHTML = c; x4 = elem('d1').innerHTML = d; var arrX = [x1, x2, x3, x4]; for (var x of arrX) { if (x !== x) { x = "-"; // the character that was supposed to replace NaN console.log(x); } } } iFunc (); <table> <tr> <td><span id="a1"></span></td> <td><span id="b1"></span></td> <td><span id="c1"></span></td> <td><span id="d1"></span></td> </tr> </table>No estoy 100% seguro de lo que está buscando, pero me parece que posiblemente esté tratando de crear una nueva matriz con valores NaN reemplazados con "-". Si este es el caso, simplemente puede usar .map() para iterar, similar a la publicación anterior 👆
let a; let b; let c; let d; function iFunc() { a = 3; b = 4; c = 24; d = NaN; let arrX = [a, b, c, d]; function mapper(x) { if (!isNaN(x)) { return x; } else { return x = "-"; } } const arrX2 = arrX.map(x => mapper(x)) console.log(arrX2); } iFunc();let a, b, c, d; a = 1; b = 3; c = 2; d = NaN; let arrX = [a, b, c, d]; for(i in arrX){ if(isNaN(arrX[i])){ arrX[i]='-'; } } console.log(arrX);Use la función de reemplazo de javascript:
https://www.w3schools.com/jsref/jsref_replace.asp
Sin embargo, tenga en cuenta que tendrá que convertir esos valores NaN en cadenas adecuadas antes.