嵌套 if 语句 javascript
nested if statements 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 语句?
您可能需要检查 JSONPath 以进行深度查找:https://jsonpath.com/。
它允许您进行字符串查询并在对象和匹配查询的 returns 字段上执行。
您可以按如下方式使用递归:
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;
}
}
}
我正在尝试进行查找,直到找到特定的值;目前正在使用这样的 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 语句?
您可能需要检查 JSONPath 以进行深度查找:https://jsonpath.com/。
它允许您进行字符串查询并在对象和匹配查询的 returns 字段上执行。
您可以按如下方式使用递归:
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;
}
}
}