我是一个函数,它将 null 替换为另一个单词/值。
有问题的变量:
var saveData = {"teams":[[null,null],[null,null]]}
我发现该变量是一个二维数组并且要访问null我应该savedata.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: ""})
})
}
结果很奇怪。它输出:
首次使用:
{"teams":[["team 1",null],[null,null]]}
二次使用:
{"teams":[["团队 1",null],["团队 2",null]]}
我不知道为什么,但我怀疑错误可能来自 while 或 if
最佳答案
data.teams[i][0] != null || data.teams[i][1] != null
如果两个值中的任何一个不为 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];
}
详细了解逻辑运算符 here .
逻辑与 (&&)
Returns expr1 if it can be converted to false; otherwise, returns expr2. Thus, when used with Boolean values, && returns true if both operands are true; otherwise, returns false.
逻辑或 (||)
Returns expr1 if it can be converted to true; otherwise, returns expr2. Thus, when used with Boolean values, || returns true if either operand is true.
关于javascript - 为bracket.js制作一个插入函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50330117/