我有一个复杂的对象(用户对象),其中包含嵌套数组和嵌套对象。
我有一个相对复杂的搜索过滤器(确定返回哪些项目的复选框以及搜索输入)。
目前我搜索这样的对象:
for(var key in item){
if(item[key] && item[key].length && String(item[key]).toLowerCase().indexOf($rootScope.filt.searchFilter.toLowerCase()) !== -1){
realSave = true;
}
}
但是,这仅适用于项目中的第一层对象;我还需要在对象中搜索对象。
我该怎么做?这是不是比上面的方法更简单呢? (请注意,我不能只使用 ng-repeat="item in items | searchFilter"
因为这还需要解析复选框并相应地返回值。
最佳答案
尝试
realSave = (JSON.stringify(item).indexOf($rootScope.filt.searchFilter.toLowerCase()) !== -1)
(很长的一行,向右滚动)
它将把您的整个对象转换为单个字符串,然后您可以在其中的任何位置搜索您要查找的子字符串。
关于javascript - AngularJS/Javascript : Find a string match in a nested object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37725875/