Javascript ko.utils.arrayFirst()的角度等价物
淘汰实用程序有一些整洁的数组过滤工具,我似乎找不到内置的angular 在淘汰赛中,我会这样做: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){
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
。