javascript – AngularJS:如何过滤对象阵列除了一个属性

前端之家收集整理的这篇文章主要介绍了javascript – AngularJS:如何过滤对象阵列除了一个属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Angular $filter可以对Object Array进行字符串模糊搜索,

但是我的每个对象都有一个base64 pic的属性.

var MyObjects = [{
    property1: 'ab',property2: 'cd',pic: '4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBw.....' 
},{
    property1: 'ef',property2: 'gh',{
    ....


}],result = $filter('filter')(MyObjects,$scope.searchText);

我怎样才能在模糊搜索中除了pic属性

解决方法

Angular的过滤器可以使用函数作为过滤数组的参数.过滤器将选择函数返回true的项目.

您可以使用此功能来实现您的目的.

Here is the official documentation

因此,您可以执行以下操作,仅将搜索文本与您想要的两个属性进行比较:

var filterFunction = function(item) {
    var val = $scope.searchText
    return item.property1.indexOf(val || '') !== -1 || item.property2.indexOf(val || '') !== -1;
}

result = $filter('filter')(MyObjects,filterFunction,$scope.searchText);

Here’s a fiddle demonstrating this effect.

原文链接:https://www.f2er.com/js/157051.html

猜你在找的JavaScript相关文章