сделать функцию вставки для Bracket.js - PullRequest
0 голосов
/ 14 мая 2018

Я создаю функцию, которая заменяет нуль другим словом / значением .

рассматриваемой переменной:

var saveData = {"teams":[[null,null],[null,null]]}

Я обнаружил, что переменнаяэто 2D массив и для доступа к нулю я должен сделать saveata.teams [0] [0] , поэтому я сделал скрипт, который изменяет переменную.

function add(team, data) 
{
    var str = team.innerHTML;
    var str = str.replace(/<td>/g, "");
    var text = str.split("</td>");

    var i = 0;



    while(data.teams[i][0] != null || data.teams[i][1] != null)
    {
        i++;
    }

    if( i == data.teams.length - 1){}


    if(data.teams[i][0] == null)
    {
        data.teams[i][0]  = text[1];
    }
    else if(data.teams[i][0] != null)
    {
        data.teams[i][1] == text[1];
    }

    $(function() {
        var container = $('.creator')
        container.bracket({
            init: data,
            save: saveFn,
            userData: ""})
    })
}

результат странный.выводит:

  • первое использование:

    {"команды": [["команда 1", ноль], [ноль, ноль]]}

  • второе использование:

    {"groups": [["team 1", null], ["team 2", null]]}

Я не знаю почему, но я подозреваю, ошибка может появиться в то время как или , если

1 Ответ

0 голосов
/ 14 мая 2018

data.teams[i][0] != null || data.teams[i][1] != null

если любое из двух значений не равно нулю ... оно переходит к следующему элементу ....

должно быть:

while(i < data.teams.length)
    {
        i++;
    }



    if(data.teams[i][0] == null)
    {
        data.teams[i][0]  = text[1];
    }
    if(data.teams[i][0] != null)
    {
        data.teams[i][1] == text[1];
    }

Проверьте больше на логические операторы здесь .

Логическое И (&&)

Возвращает expr1, если его можно преобразовать в false; в противном случае возвращает expr2. Таким образом, при использовании с логическими значениями && возвращает true, если оба операнды истинны; в противном случае возвращает false.

Логическое ИЛИ (||)

Возвращает expr1, если его можно преобразовать в true; в противном случае возвращает expr2. Таким образом, при использовании с логическими значениями, || возвращает true, если либо операнд истинен.

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