簡體   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