Javascript 针对else if的多个条件更正代码
嗨,我在这个代码中遇到了困难,我想我的if-else条件是错误的 运行程序时,如果用户未输入任何内容,则发送“列表组项目危险”,这是第一条if语句,如果用户同时输入名称和位置,则发送“列表组项目成功”。两者都是正确的 如果用户输入至少一个输入(名称或地点),则发送 “列表组项目成功”也是错误的,因为它不成功 如果满足第二条if语句(PLACE和(&&&)NAME)上的条件,则 应该在它发送的最后一条语句上 “列表组项目警告”Javascript 针对else if的多个条件更正代码,javascript,html,node.js,sqlite,nested-loops,Javascript,Html,Node.js,Sqlite,Nested Loops,嗨,我在这个代码中遇到了困难,我想我的if-else条件是错误的 运行程序时,如果用户未输入任何内容,则发送“列表组项目危险”,这是第一条if语句,如果用户同时输入名称和位置,则发送“列表组项目成功”。两者都是正确的 如果用户输入至少一个输入(名称或地点),则发送 “列表组项目成功”也是错误的,因为它不成功 如果满足第二条if语句(PLACE和(&&&)NAME)上的条件,则 应该在它发送的最后一条语句上 “列表组项目警告” var obj={}; db.all(“从f41中选择*,其中id=
var obj={};
db.all(“从f41中选择*,其中id=?”,[id],函数(err,rows){
if((行[0]。名称==null | |行[0]。名称=='')和&(行[0]。位置==null | |行[0]。位置=='')
{
obj.f41='list-group-item-danger';
}
else if((行[0].NAME!=null | |行[0].NAME!=“”)和&(行[0].PLACE!=null | |行[0].PLACE!=“”))
{
obj.f41='list-group-item-success';
}
其他的
{
obj.f41='list-group-item-warning';
}
res.send(obj);
});代码>据我所知,问题在于:
(rows[0].NAME != null || rows[0].NAME != '')
如果行[0].NAME
为null
,则它不等于”
,反之亦然。因此,它将回归真实
你可以试试
!(rows[0].NAME == null || rows[0].NAME === '')
您还可以尝试创建utils函数isEmpty
var obj={};
db.all(“从f41中选择*,其中id=?”,[id],函数(err,行){
if(isEmpty(行[0].NAME)和&isEmpty(行[0].PLACE)){
obj.f41=‘列表组项目危险’;
}
如果(!isEmpty(行[0].NAME)和&!isEmpty(行[0].PLACE]),则为else{
obj.f41='列表组项目成功';
}否则{
obj.f41='列表组项目警告';
}
res.send(obj);
});
函数为空(v){
返回v==null | | v.toString().trim().length==0
}
据我所知,问题在于:
(rows[0].NAME != null || rows[0].NAME != '')
如果行[0].NAME
为null
,则它不等于”
,反之亦然。因此,它将回归真实
你可以试试
!(rows[0].NAME == null || rows[0].NAME === '')
您还可以尝试创建utils函数isEmpty
var obj={};
db.all(“从f41中选择*,其中id=?”,[id],函数(err,行){
if(isEmpty(行[0].NAME)和&isEmpty(行[0].PLACE)){
obj.f41=‘列表组项目危险’;
}
如果(!isEmpty(行[0].NAME)和&!isEmpty(行[0].PLACE]),则为else{
obj.f41='列表组项目成功';
}否则{
obj.f41='列表组项目警告';
}
res.send(obj);
});
函数为空(v){
返回v==null | | v.toString().trim().length==0
}
您可以像这样改善您的状况
if(rows[0].NAME && rows[0].PLACE) {
obj.f41='list-group-item-success';
} else if(!rows[0].NAME && !rows[0].PLACE) {
obj.f41='list-group-item-danger';
} else {
obj.f41='list-group-item-warning';
}
你可以像这样改善你的状况
if(rows[0].NAME && rows[0].PLACE) {
obj.f41='list-group-item-success';
} else if(!rows[0].NAME && !rows[0].PLACE) {
obj.f41='list-group-item-danger';
} else {
obj.f41='list-group-item-warning';
}
你的代码段显示错误。你可以添加一个工作代码段吗?你已经编辑了代码,我认为现在应该可以了。你可以添加一个工作代码段吗?你已经编辑了代码,我认为现在应该可以了。注意,在JSfalse
和0
中falsey@Rajesh我知道,但看看这个问题,我想这是一根绳子。。。。因此,此处不需要考虑0。注意,在JSfalse
和0
中falsey@Rajesh我知道,但看看这个问题,我认为这是一个字符串。。。。所以这里不需要考虑0