javascript模糊查询一个数组

/*
 * 模糊查询一个数组
 */
com.ty.repairtech.JsonOperation.searchList = function(str, container) {
    var newList = [];
    //新的列表
    var startChar = str.charAt(0);
    //开始字符
    var strLen = str.length;
    //查找符串的长度


    for (var i = 0; i < container.length; i++) {
        var obj = container[i];
        var isMatch = false;
        for (var p in obj) {
            if ( typeof (obj[p]) == "function") {
                obj[p]();
            } else {
                var curItem = "";
                if(obj[p]!=null){
                    curItem = obj[p];
                }
                for (var j = 0; j < curItem.length; j++) {
                    if (curItem.charAt(j) == startChar)//如果匹配起始字符,开始查找
                    {
                        if (curItem.substring(j).substring(0, strLen) == str)//如果从j开始的字符与str匹配,那ok
                        {
                            isMatch = true;
                            break;
                        }
                    }
                }
            }
        }
        if (isMatch) {
            newList.push(obj);
        }
    }
    return newList;
}