gpt4 book ai didi

javascript - 设置变量的默认状态

转载 作者:行者123 更新时间:2023-12-02 21:19:06 24 4
gpt4 key购买 nike

我需要为 3 个变量设置默认值,即父变量 4、5 和 6:

var parentIsFull = function (tree, index) {
var parent = getParentIndex(tree, _talents[tree][index].parent);
var parent2 = getParentIndex(tree, _talents[tree][index].parent2);
var parent3 = getParentIndex(tree, _talents[tree][index].parent3);
var parent4 = getParentIndex(tree, _talents[tree][index].parent4);
var parent5 = getParentIndex(tree, _talents[tree][index].parent5);
var parent6 = getParentIndex(tree, _talents[tree][index].parent6);

if (parent4 && parent5 && parent6 && (_state[tree][parent4]) + (_state[tree][parent5]) + (_state[tree][parent6]) < 8) {
return false;
} else {
return true;
}

};

目前它们似乎都有一个不是数字的默认值,我猜它是“未定义”的,它们都需要被定义为 0 值,然后才能被任何其他值更改代码。

应该发生的情况是,如果没有任何值发生更改,则应该 return false但事实上,如果我不将所有 3 个值更改为至少 1,它将返回 true。

我会告诉你我的意思,有4、5和6作为 parent 的“盒子”被标记为红色, parent 4、5和6被标记为黄色,因此红色盒子=子盒子,黄色框 = 父框:

enter image description here

现在为每个父项添加值 1,它会正确返回 false,如灰色文本所示。它会返回 false,因为它们现在的值都为 1,并且总体仍低于 8:

enter image description here

显示< 8我的部分代码有效,您可以看到,一旦 3 个父值的总和更改为等于或大于 8 的任何值,它将转到 else 语句和 return true ,因此“红框”再次可用:

enter image description here

所以我需要为所有父项设置默认值 0,这样如果它们保持不变,它仍然会 return false

这是我的问题,请随时对我提出任何批评,我对此还很陌生。

最佳答案

继续的最佳方法取决于您所调用的函数可以返回的所有可能的值类型。

如果只返回虚假值和数字,您可以执行以下操作:

var parent = functionCall() || 0;

如果可以返回任何值,并且您只需要数字并将所有其他值默认为零,则必须分两步进行测试,例如:

var result = functionCall();
var parent = typeof result === 'number' ? result : 0;

关于javascript - 设置变量的默认状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60895992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com