Замена NULL пустой строкой в ​​jQuery каждый ()? - PullRequest
0 голосов
/ 15 февраля 2020

Параметр fights ниже является результатом вызова Ajax. Некоторые данные имеют значения NULL. Какой простой способ заменить эти значения пустой строкой?

    function createFightsTable(fights) {

        $.each(fights, function() {

            $("#professional_fights_table tbody").append("<tr><td class='text-center'>" + this.result  + "</td><td>" + this.record  + "</td><td>" + this.opponent  + "</td><td>" + this.method  + "</td><td>" + this.date  + "</td><td class='text-center'>" + this.round  + "</td><td>" + this.time  + "</td></tr>"); 
        });
    }

1 Ответ

2 голосов
/ 15 февраля 2020

Это зависит от того, является ли это "NULL" (строка, возможно, пришедшая из результирующего набора базы данных, где NULL была преобразована в строку) или null (фактическое значение null в JavaScript).

Если это "NULL", вам, вероятно, нужна функция полезности:

function blankForNull(s) {
    return s.toUpperCase() === "NULL" ? "" : s;
}

Тогда:

$("#professional_fights_table tbody").append("<tr><td class='text-center'>" + blankForNull(this.result)  + // ...

Если это null, вы можете использовать любопытно- мощный || оператор или более новый (ES2020) оператор "null coalescing" ??:

$("#professional_fights_table tbody").append("<tr><td class='text-center'>" + (this.result || "")  + // ...

или

$("#professional_fights_table tbody").append("<tr><td class='text-center'>" + (this.result ?? "")  + // ...

(вам нужно () вокруг него в это конкатенационное выражение.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...