如何比较javascript中的动态字符串

时间:2015-03-27 03:28:27

标签: javascript angularjs string filter compare

我需要比较我在angular中创建的自定义过滤器中的两个字符串。

问题是比较总是false,我检查了两个字符串,长度和类型的内容,它们是相等的。 我处理了localeCompare== ===,但在这种情况下他们都返回false

奇怪的是脚本的第一部分,它工作正常,两个部分都是一样的。

这是我的代码:

.filter('search',function(){
    return function(items,arguments){//arguments -> object {columns,parameters}
        var i=0,j=0,filtered=[],nmbStr="",comp="";
        for(i=0;i<items.length;i++){
            nmbStr = (items[i][arguments.columns[0]]).toString();
            nmbStr = nmbStr.substr(0,arguments.parameters[0].length);
            switch(arguments.parameters.length){
                case 1:
                    if( nmbStr === arguments.parameters[0]) // 1st comparison here
                    filtered.push(items.slice(i,i+1)[0]);
                    break;
                case 2:
                    comp = (items[i][arguments.columns[1]]);
                    comp = comp.substr(0,arguments.parameters[1].length);
                    comp = comp.toLowerCase();
                    if( nmbStr === arguments.parameters[0] && comp === arguments.parameters[1]){ // this is not working
                        filtered.push(items.slice(i,i+1)[0]);//crea un nuevo objeto a partir del array no una referencia
                    }
                    break;
            }
        }
        return filtered;
    }
})

我打电话是这样的:

$filter('search')(tempArray,{columns:['id','company_name'],parameters:['1052','in']});

请帮助我,我不知道该怎么做......

0 个答案:

没有答案