繁体   English   中英

使这个 JS 条件公式起作用需要什么?

[英]What is necessary to make this JS conditional formula work?

我有这个用于检测超出范围批号的 JS 公式,我的老板报告说它总是向他们返回 No,但在我的情况下它总是返回 Yes。 公式如下:

drug_administrated = 'Azacitidine' 
kit_1_d1 = 1100

if

({drug_administrated} = 'Azacitidine' && ( {kit_1_d1} < 1000 || {kit_1_d1} >1116)) {

"No";

}else if

({drug_administrated} = 'Vidaza' && ({kit_1_d1} < 3000 || {kit_1_d1} > 3096) ) {

"No";

}else {

"Yes";

}

在这种情况下,它应该返回 Yes 并且它确实但是如果我放置例如

drug_administrated = 'Azacitidine' 
kit_1_d1 = 100

if

({drug_administrated} = 'Azacitidine' && ( {kit_1_d1} < 1000 || {kit_1_d1} >1116)) {

"No";

}else if

({drug_administrated} = 'Vidaza' && ({kit_1_d1} < 3000 || {kit_1_d1} > 3096) ) {

"No";

}else {

"Yes";

}

它应该返回 No,但仍然返回 Yes。

我应该承认,我是一个完全自学的 js 学徒,我真的很感激你的帮助。 谢谢

您提供的代码示例中存在多个语法问题:

1) 使用适当的相等比较运算符,大多数情况下您应该使用===来比较被比较对象的值和类型。 您正在使用一个赋值运算符来初始化一个值。

2) 不要将变量包裹在{}

3)您实际上并没有在任何地方返回值。

 function check(drug, kit) { // use correct comparison operator === and dont wrap the var in {} if (drug === 'Azacitidine' && (kit < 1000 || kit > 1116)) { // return a value to process return "No"; } else if (drug === 'Vidaza' && (kit < 3000 || kit > 3096)) { return "No"; } else { return "Yes"; } } console.log(check('Azacitidine', 100)); console.log(check('Azacitidine', 1000)); console.log(check('Vidaza', 1000)); console.log(check('Vidaza', 3000));

强烈建议您查看MDN上的文档以帮助学习该语言。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM