indexOf 不适合我。离子
indexOf don't work for me. Ionic
所以对我来说,处理字符串的 indexOf 函数无法正常工作。我得到一个类型为 "Betreiber" 的对象列表。就像您在屏幕截图中看到的那样,我正确地获取了数据。但是我不能用 indexOf 过滤,我不明白为什么?
getFiltList(searchquery: string): Observable<Betreiber[]>{
return Observable.create( observable => {
this.fbProvider.getListObs().subscribe( allItems => {
console.log("Query: " + searchquery);
console.log(allItems);
let filteredList = allItems.filter(b => b.name.indexOf(searchquery) > -1); <!-- stop doing work here.. !-->
console.log(filteredList);
observable.next(filteredList);
observable.complete();
});
});
}
Screenshot 1: Console log with query input="Test123"
如果我把它改成let filteredList = allItems.filter(b => b.name === searchquery);
搜索类型为 'Betreiber' 的对象的确切名称有效
Console log with query: Test123 after line change
希望你能帮忙.. 也尝试使用 .toLowerCase()
作为搜索查询和课程名称:)
您的数据数组 {anschrift:{...},bankverbindung:{...},id:..., name2:...}
的最后一项似乎没有 属性 name
但 name2
.
因此,b.name.indexOf(searchquery)
无法执行并调用运行时错误,因为 b.name
是 undefined
,而 b.name === searchquery
可以执行。
所以对我来说,处理字符串的 indexOf 函数无法正常工作。我得到一个类型为 "Betreiber" 的对象列表。就像您在屏幕截图中看到的那样,我正确地获取了数据。但是我不能用 indexOf 过滤,我不明白为什么?
getFiltList(searchquery: string): Observable<Betreiber[]>{
return Observable.create( observable => {
this.fbProvider.getListObs().subscribe( allItems => {
console.log("Query: " + searchquery);
console.log(allItems);
let filteredList = allItems.filter(b => b.name.indexOf(searchquery) > -1); <!-- stop doing work here.. !-->
console.log(filteredList);
observable.next(filteredList);
observable.complete();
});
});
}
Screenshot 1: Console log with query input="Test123"
如果我把它改成let filteredList = allItems.filter(b => b.name === searchquery);
搜索类型为 'Betreiber' 的对象的确切名称有效 Console log with query: Test123 after line change
希望你能帮忙.. 也尝试使用 .toLowerCase()
作为搜索查询和课程名称:)
您的数据数组 {anschrift:{...},bankverbindung:{...},id:..., name2:...}
的最后一项似乎没有 属性 name
但 name2
.
因此,b.name.indexOf(searchquery)
无法执行并调用运行时错误,因为 b.name
是 undefined
,而 b.name === searchquery
可以执行。