Angularjs 角滤波器复制阵列

Angularjs 角滤波器复制阵列,angularjs,ng-repeat,Angularjs,Ng Repeat,我的角度代码有问题 我尝试使用角度过滤器服务进行过滤和阵列,但当我在过滤器中过滤阵列时,它会复制而不是获取阵列中的每个元素,我尝试了跟踪,但它似乎不起作用 这是我的角度代码: .filter('priceRange', function() { return function(arr, range) { if (!range) {return arr; } var priceResult = []; var

我的角度代码有问题

我尝试使用角度过滤器服务进行过滤和阵列,但当我在过滤器中过滤阵列时,它会复制而不是获取阵列中的每个元素,我尝试了跟踪,但它似乎不起作用

这是我的角度代码:

.filter('priceRange', function() {
        return function(arr, range) {
            if (!range) {return arr; }
            var priceResult = [];
            var pRange = range.split('-');
            angular.forEach(arr, function(key, index) {
                if (key.pPice >= pRange[0] && key.Price <= pRange[1]) {
                    priceResult.push(key);
                }
            })
            console.log(arr);
            return priceResult;
        }
    })

当我尝试使用不同的数组时,我仍然会得到数组的五个TIM的副本

您好,在我看来
范围
值是空的或空的,因此每次执行过滤器时,都会返回整个数组,这就是为什么会得到五次数组的原因


range
”变量的值是多少?

您好,我觉得
range
值是空的或空的,所以每次执行过滤器时,都会返回整个数组,这就是为什么会得到五次数组的原因


range
”变量的值是多少?

调用筛选器时,筛选器采用未设置的参数范围。html应该是这样的

<div class="col s12 m3" ng-repeat="car in [1,2,3,4,5] | priceRange: range" >


其中,范围是过滤器中参数的输入。除非传递参数,否则不会执行if循环后面的行。

过滤器采用的参数范围在调用过滤器时未设置。html应该是这样的

<div class="col s12 m3" ng-repeat="car in [1,2,3,4,5] | priceRange: range" >


其中,范围是过滤器中参数的输入。除非您传递参数,否则if循环后面的行将不会执行。

hi,感谢您的回复,范围值是一个select标记,每个选项中都有一个价格范围。但我不认为这是问题所在,因为我对数组进行了console.log记录,而筛选器对数组进行了五次复制,而不是对我进行了筛选。您尝试过console.log('range');进入你的过滤器?在该行之后:如果(!range){return arr;}Yes,它将返回所选的选项值,例如0-4000hi,感谢您的回复,范围值是一个select标记,每个选项中都有一个价格范围。但我不认为这是问题所在,因为我对数组进行了console.log记录,而筛选器对数组进行了五次复制,而不是对我进行了筛选。您尝试过console.log('range');进入你的过滤器?在那一行之后:如果(!range){return arr;}是,它返回所选的选项值,例如0-4000请检查这一行-key.pPice>=pRange[0]&&key.Price@Shailendra Singh Deol谢谢,这是一个愚蠢的拼写错误…请检查这一行-key.pPice>=pRange[0]&&key.Price@Shailendra Singh-Deol谢谢,答案只是一个愚蠢的拼写错误。。。
<div class="col s12 m3" ng-repeat="car in [1,2,3,4,5] | priceRange: range" >