javascript中判断逗号分隔的数字中是否包含指定数字
·
现在我有一个变量,里面维护了数值和类别的对应关系
var numberType =
{"1":"AType",
"2,3,4":"BType",
"5,6,7,8":"CType",
"9,10,11,12,13":"DType"};
比如,传入一个值“1”,函数返回对应类别“AType”;传入一个值“2”,函数返回对应类别“BType”
具体实现代码如下:
// 根据数字查找对应类别
function findTypeByNum(num) {
var numberType =
{"1":"AType",
"2,3,4":"BType",
"5,6,7,8":"CType",
"9,10,11,12,13":"DType"};
var pattern = new RegExp("\\b" + num + "\\b");
for (var obj in numberType) {
if (obj.match(pattern)) {
return numberType[obj];
}
}
}
当时为了尽快解决问题,没有采用上面的正则匹配(主要是卡在给反斜线转义这部分)写法。用了另外一种,能够实现功能,但稍显麻烦:
function findTypeNum(num) {
var a = [1];
var b =[2,3,4];
var c = [5,6,7,8];
var d = [9,10,11,12,13];
var allVars = [a, b, c, d];
var varNames = ["AType", "BType", "CType", "DType"];
for (var i = 0; i < allVars.length; i++) {
if ($.inArray(parseInt(num), allVars[i])!=-1) {
return varNames[i];
}
}
}
更多推荐


所有评论(0)