如果然后从列表中选择

时间:2016-04-21 16:18:21

标签: javascript jquery

在JavaScript中,有没有办法从列表中选择。我记得在Visual Basic中这样做。

所以而不是

.equals

是否有像

这样的东西
if (id == "category1") {i = 1};
if (id == "category2") {i = 2};
if (id == "category3") {i = 3};

2 个答案:

答案 0 :(得分:2)

使用字典(与枚举类似):

var dictionary = {"category1": 1, "category2": 2, "category3": 3}; 
i = dictionary[id]

JSFiddle

这是一个开关案例:

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