我应该在 Angular 应用程序中使用哪一个,为什么?
array.filter(o => o.name === myName);
or
$filter('filter')(array, {name: myName}, true);
关键的区别是快捷方式或语法糖由提供$filter('filter')
。例如,可以使用以下语法来获取包含以下内容的项目:keyword
任何项目中的字符串string
特性:
$filter('filter')(array, 'keyword')
这不可能像使用标准 ES5 那样简单Array.prototype.filter
.
然而两种方法的总体思路是相同的 - 返回给定数组的子集作为NEW array.
Update:
在引擎盖下 https://github.com/angular/angular.js/blob/master/src/ng/filter/filter.js#L3角度使用Array.prototype.filter
:
function filterFilter() {
// predicateFn is created here...
return Array.prototype.filter.call(array, predicateFn);
}
因此,如果您不使用快捷方式 - 角度只需将调用委托给标准filter
.
回答你的问题:使用可以让您编写更少代码的那个。在你的具体情况下,它将是array.filter(o => o.name === myName);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)