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

当時、問題をできるだけ早く解決するために、上記の正則マッチング(主に反斜線にエスケープする部分に引っかかる)の書き方は採用されていませんでした.もう1つの機能を使用していますが、少し面倒です.
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];
        }
    }
}