如何进行多条件过滤:ReactJS

r1zhe5dt  于 2023-01-08  发布在  React
关注(0)|答案(2)|浏览(173)

我正在处理React和json数据,我有一个输入字段可以从json文件中搜索数据。
我可以弄清楚如何搜索JSON数据的一个键,有没有可能得到一些帮助。
我的代码是:

if(searchString.length > 0){
    contactsData = contactsData.filter(function(l){
        return l.name.toLowerCase().match( searchString );
    });
}

其中l.name我还需要l.companyl.email

gudnpqoy

gudnpqoy1#

一个简单的解决方案是使用*#或其他字符串连接所有三个字符串,然后检查searchString
就像这样:

if(searchString.length > 0){
    let str;
    contactsData = contactsData.filter(function(l){
        str = `${l.name}# ${l.company}# ${l.email}`;
        return str.toLowerCase().match( searchString );
    });
}

或者您也可以单独检查,如下所示:

return (
    l.name.toLowerCase().match( searchString ) || 
    l.company.toLowerCase().match( searchString ) || 
    l.email.toLowerCase().match( searchString )
);
wgx48brx

wgx48brx2#

按多个条件搜索在给定数组中,您可以按firstName、lastName、email、phone进行搜索。如果搜索查询与这些值中的任何一个匹配,则将得到该值。

{[{名字:“Ali”,姓氏:“khan”,电子邮件:“test@email.com”,电话:12345}] .filter((a)=〉${a.firstName} ${a.lastName} ${a.email} ${a.phone}.includes(此处为您的搜索字段值))

相关问题