我有一张数据表:
<table id="disparities" class="datatable">
<thead>
<tr>
<th scope="col">Events</th> <th scope="col">White</th> <th scope="col">Black</th> <th scope="col">Hispanic</th><th scope="col">Asian/Pacific Islands</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Hospitalizations</th>
<td>0.00</td>
<td>20</td>
<td>10</td>
<td>5</td>
</tr>
<tr>
<th scope="row">ED Visits</th>
<td>19</td>
<td>90</td>
<td>40</td>
<td>18</td>
</tr>
</tbody>
</table>
我有一个函数可以将上表中的值检索到这样的数组中(0.00,19)
var points1 = $('#disparities td:nth-child(2)').map(function() {
return $(this).text().match(/\S+/)[0];
}).get();
我想检查是否有0.00值(或者它可能只是0)并将该值更改为NA ... 所以我得到的数组是(NA,19) 无论是在初赛中还是作为一个单独的行动,都不确定如何解决这个问题......
答案 0 :(得分:1)
让我在map函数中做到这一点:
var points1 = $('#disparities td:nth-child(2)').map(function() {
var point = $(this).text().match(/\S+/)[0];
return (point == 0)?'NA':point;
}).get();
答案 1 :(得分:0)
var points1 = $('#disparities td:nth-child(2)').map(function() {
var t = $(this).text().match(/\S+/)[0];
if (parseFloat(t) === .0) return 'NA';
else return t;
}).get();
(jsFiddle)
答案 2 :(得分:0)
将其作为单独的操作,您可以循环遍历数组并检查值是否为0.
for (var i = 0; i < points1.length; i++)
{
if (points1[i] == 0)
points[i] = 'NA';
}
答案 3 :(得分:0)
var points1 = $('#disparities td:nth-child(2)').map(function() {
return $(this).text().replace(/(0[\.0]?0?)/, "NA");
}).get();