在JavaScript中,有没有办法从列表中选择。我记得在Visual Basic中这样做。
所以而不是
.equals
是否有像
这样的东西if (id == "category1") {i = 1};
if (id == "category2") {i = 2};
if (id == "category3") {i = 3};
答案 0 :(得分:2)
使用字典(与枚举类似):
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方法,因为每次添加新类别时,编写的代码都会少一些。
答案 1 :(得分:0)
你可以跳出框思考:
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;
}