你能告诉我如何用另一个字符替换NaN
吗?有些变量分配了一些数值.
为了解决这个问题,我单独创建了一个数组,其中包含已经有一些值的变量.接下来,我开始循环.如果条件返回NaN
,则应将其替换为"-"
.但它不起作用.
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>
UPD:带. map ()
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].map(n => n != n ? "-" : n);
console.log(arrX);
}
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>