嵌套if语句javascript



我正在尝试查找,直到找到一个特定的值;目前使用这样的if语句,但现在只有两个级别,我不需要在条件满足之前需要多少if语句。

if (newObject.parent.toString() != 1) {
alert(newObject.shareholder + ' no es 1 Buscaremos sus padres');
var newObject = parentSearch.search(newObject.parent.toString())[0].item;
if (newObject.parent.toString() != 1) {
var newObject = parentSearch.search(newObject.parent.toString())[0].item;
} else {
alert(newObject.shareholder + ' Found');
}
} else {
alert(newObject.shareholder + ' Found');
}

有没有办法避免使用无限IF语句?

您可以如下使用递归:

function checkObject(newObject) {
if (newObject.parent.toString() != 1) {
alert(newObject.shareholder + ' no es 1 Buscaremos sus padres');
const newObject = parentSearch.search(newObject.parent.toString())[0].item;
checkObject(newObject)  // recursion
} else {
alert(newObject.shareholder + ' Found');
}
}

如果您不能使用递归,您可以使用以下内容:

function checkObject(newObject) { 
while (true){
if (newObject.parent.toString() != 1) {
alert(newObject.shareholder + ' no es 1 Buscaremos sus padres');

newObject = parentSearch.search(newObject.parent.toString())[0].item;
} else {
alert(newObject.shareholder + ' Found');
break;
}
}
}

您可能需要检查JSONPath以进行深度查找:https://jsonpath.com/.

它允许您生成字符串查询并在对象上执行,并返回与查询匹配的字段。

相关内容

  • 没有找到相关文章

最新更新