Javascript ko.utils.arrayFirst()的角度等价物

Javascript ko.utils.arrayFirst()的角度等价物,javascript,angularjs,knockout.js,Javascript,Angularjs,Knockout.js,淘汰实用程序有一些整洁的数组过滤工具,我似乎找不到内置的angular 在淘汰赛中,我会这样做: ko.utils.arrayFirst(myArray, function(item){ return item.property === criteria; }); 在angular中,我目前使用的是: for(var x = 0; x < myArray.length; x++){ if (myArray[x].property === criteria){

淘汰实用程序有一些整洁的数组过滤工具,我似乎找不到内置的angular

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

ko.utils.arrayFirst(myArray, function(item){
    return item.property === criteria;
});
在angular中,我目前使用的是:

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

我知道我也可以在这里使用
angular.forEach
,但我正在寻找类似于带有Knockout的
arrayFirst
。我还知道如何在Angular中编写作为助手的,我只想知道它是否已经内置。

我认为简单的数组过滤可以帮助:

var foundItem = myArray.filter(function(item) { return item.property === criteia; })[0];
如果找不到任何内容,“foundItem”将是未定义的。

使用AngularJs函数如何

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

是的,这个很好用。我不太喜欢把
[0]
放在最后,我觉得这会让它更难阅读,因为它很容易被错过。这只是一种观点,如果你只需要支持最新的浏览器,你也可以使用
Array.prototype.find