2017-09-05 19 views
-1

我在我的水壺勺子ETL流程使用該Java腳本。但始終只有if語句的工作,否則,如果不工作,什麼問題呢?爲什麼這個如果else語句不工作 - 水壺的JavaScript

var type1 = ''; 
var type2 = ''; 
var category1 = [1, 2, 3, 4, 5, 6, 7, 8, 50, 53]; 
var category2 = [10, 11, 12, 13, 14, 15, 56]; 

if (sub_type_id in category1) { 
type1 = 'type-res';} 
else if (sub_type_id in category2) { 
type1 = 'type-ren';} 
else type1 = ''; 

sub_type_id看起來是這樣的..

enter image description here

+0

什麼是'sub_type_id'? –

+0

這將有值1,2,3,4一樣.. –

回答

1

因爲在JavaScript中,用於陣列中的陣列不檢查值in運營商,它會檢查索引。

請參見:

var category1 = [1, 2, 3, 4, 5, 6, 7, 8, 50, 53]; 
var sub_type_id = 50; 
console.log(sub_type_id in category); // you get false 

看到這更清楚,如果你這樣做:

for (i in category1) { 
    console.log(i); 
} 

什麼是印刷是0〜9,這是指數,而不是實際值。

您需要在陣列中使用indexOf

嘗試:

if(category1.indexOf(sub_type_id) !== -1) { 
    // do something 
} else if (category2.indexOf(sub_type_id) !== -1) { 
    // do something 
} else { 
    // do something 
} 
+0

讓我試試這個。謝謝。 –

+0

它不工作。 。:(現在,即使語句不工作空單元格 –

+0

你能給我你使用sub_type_id'的'一些例子 –

相關問題