检查并替换数组jquery中的值

时间:2010-06-10 19:18:53

标签: javascript jquery

我有一张数据表:

 <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) 无论是在初赛中还是作为一个单独的行动,都不确定如何解决这个问题......

4 个答案:

答案 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();