角度等价于ko.utils.arrayFirst()

时间:2016-05-10 13:02:39

标签: javascript angularjs knockout.js

Knockout实用程序有一些简洁的数组过滤工具,我似乎无法找到内置的角度。

在淘汰赛中,我会这样做:

ko.utils.arrayFirst(myArray, function(item){
    return item.property === criteria;
});

角度来看,我目前正在使用它:

for(var x = 0; x < myArray.length; x++){
    if (myArray[x].property === criteria){
         return myArray[x];
         break;
    }
 }

我知道我也可以在这里使用angular.forEach,但我正在寻找与Knockout arrayFirst类似的东西。我也知道如何在Angular中编写一个帮助器,我只是想知道它是否已经内置。

2 个答案:

答案 0 :(得分:2)

我认为对数组进行简单过滤有助于:

var foundItem = myArray.filter(function(item) { return item.property === criteia; })[0];

&#34; foundItem&#34;如果没有找到,将不确定。

答案 1 :(得分:1)

如何使用AngularJs filter函数?

var filtered = $filter('filter')(myArray, { property: criteria });
var item = filtered.shift();