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

What is necessary to make this JS conditional formula work?

我有这个 JS 公式来检测超出范围的批号,我的老板总是向他们报告 returns 否,但在我的情况下它总是 returns 是。公式如下:

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";

}

在这种情况下,它应该 return 是的,确实如此 但是如果我放置例如

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";

}

应该return不,但仍然return是。

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

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

1) 使用适当的 equality comparisons operators, majority of the time you should be using === to compare the value and type of objects being compared. You are using an assignment operator 来初始化一个值。

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 上的文档以帮助学习语言。