friend.toLowerCase 不是函数。应用离子的搜索功能时出错

Posted

技术标签:

【中文标题】friend.toLowerCase 不是函数。应用离子的搜索功能时出错【英文标题】:friend.toLowerCase is not a func. error when applying ionic's searc function 【发布时间】:2019-01-06 13:27:27 【问题描述】:

我收到此错误“friend.toLowerCase”不是函数。应用 ionic 的 searc 函数时出错。我的程序中唯一不同的是,我不仅有一个 JSON 项目列表,还有一个每个项目有 5 个项目的列表,例如 friend.namefriend.status 等。我改变了一些东西,例如离子列表被称为项目,我的朋友列表。我认为该错误可能是由于名称混淆引起的。但我没有发现错误。

html

<ion-searchbar (ionInput)="getFriends($event)"</ion-searchbar>
...
<ion-item *ngFor="let friend of friendsList">
...
<h2>friend.name</h2>
...

TS

 export class RankfriendsPage 
      friendsList;

     constructor(public navCtrl: NavController, public navParams: NavParams) 
       this.initializefriendsList();
  

  initializefriendsList() 
    this.friendsList = [
     
          "name": "Alice",        //list example
          "status": "Online",
          "img": "img/6.jpeg",
          "img2": "img/33.jpeg",
          "text": "+ADD"
        ,
    ];

      




       getFriends(ev) 
          // Reset items back to all of the items
          this.initializefriendsList();

          // set val to the value of the ev target
          var val = ev.target.value;

          // if the value is an empty string don't filter the items
          if (val && val.trim() != '') 
            this.friendsList = this.friendsList.filter((friend) => 
              return (friend.toLowerCase().indexOf(val.toLowerCase()) > -1);
            )
          
        

【问题讨论】:

【参考方案1】:
friend = 
  "name": "Alice",
  "status": "Online",
  "img": "img/6.jpeg",
  "img2": "img/33.jpeg",
  "text": "+ADD"

如您所见,那里没有 toLowerCase 属性。

如果您想使用它,请在字符串上使用它,例如friend.name

【讨论】:

【参考方案2】:

Friend 是一个对象,对象没有 toLowerCase() 属性。

您只能将 toLowerCase() 应用于字符串。

你可以使用friend.status.toLowerCase()、friend.name.toLowerCase()等。

【讨论】:

【参考方案3】:

问题是因为函数 toLowerCase() 没有朋友对象,我猜你需要,

 this.friendsList = this.friendsList.filter((friend) => 
    return (friend.name.toLowerCase().indexOf(val.toLowerCase()) > -1);
 )

【讨论】:

以上是关于friend.toLowerCase 不是函数。应用离子的搜索功能时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何解释 Excel 数字格式字符串以确定值是不是应由 DateTime.FromOADate 解析

编程规范 --- 函数 过程

微刑法|函数式之[中止犯]001

带 Angular 的引导程序“错误:$(...).collapse() 不是函数”

关于JS报错不是一个函数怎么解决

类型错误:msg.map 不是函数