在JavaScript中,有沒有一種方法可以從列表中選擇。我記得在Visual Basic中做這件事。如果然後從列表中選擇
所以不是
if (id == "category1") {i = 1};
if (id == "category2") {i = 2};
if (id == "category3") {i = 3};
有什麼樣
if.select (
category1 = 1
category2 = 2
category3 = 3
在JavaScript中,有沒有一種方法可以從列表中選擇。我記得在Visual Basic中做這件事。如果然後從列表中選擇
所以不是
if (id == "category1") {i = 1};
if (id == "category2") {i = 2};
if (id == "category3") {i = 3};
有什麼樣
if.select (
category1 = 1
category2 = 2
category3 = 3
使用的字典(作品類似ENUM):
var dictionary = {"category1": 1, "category2": 2, "category3": 3};
i = dictionary[id]
這裏是一個開關案例:
switch(id){
case 'category1':
i = 1;
break;
case 'category2':
i = 2;
break;
case 'category3':
i = 3;
break;
}
我喜歡過的switch-case方法的字典的方法,因爲它是一個位代碼少寫每次你添加一個新的類別。
爲什麼選擇投票? –
因爲這是一個糟糕的答案 - 如果你有50個類別會發生什麼?這比OP已經有多好? – Shomz
@Shomz如果這些類別是「示例」,那該怎麼辦:1,「用例」:2,「etc」:3?你的答案解析,假設類別以字符串「category」開頭。 –
可以條條框框:
var i = id.split('category')[1];
你可以把它的功能:
function getCategoryId(id){
return id.split('category')[1];
}
然後只是把它想:
var i = getCategoryId('category1');
您還可以使用substr
,它將執行最好的(在談論納秒,雖然)。
看到它住在這裏:
var id = 'category2';
function getCategoryId(id){
return id.split('category')[1];
}
alert(getCategoryId(id));
或者只是使用switch
:
switch(id){
case 'category1':
i = 1;
break;
case 'category2':
i = 2;
break;
case 'category3':
i = 3;
break;
}
好的,我想出了開關功能。我對我在https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/switch上看到的代碼感到困惑。你的例子非常清楚。現在我看到它了,「Case」是Visual Basic中使用的語法。 – Matt
是的,'console.log'可能是調試JS中最快/最簡單的方法。不過,我強烈建議您使用我的第一段中的一種方法,因爲只要它們的格式爲「categoryXX」',就不必在添加/刪除類別時進行任何手動工作。 – Shomz
我結束了使用「詞典」,但切換也是一個非常好的選擇。當我提出這個問題並且很好地瞭解未來的項目時,這就是我想到的。啊! 。 。 。 console.log。 。 。我現在明白了。我在兩天內學到了很多關於JavaScript的知識。謝謝你的幫助。 – Matt
你在尋找['switch'語句](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/switch)嗎? –
@JamesThorpe開關是馬上跳出來給我的 – mhodges
開關已經足夠接近你以後的... –