如何基于多个条件进行过滤:ReactJS

时间:2018-01-05 09:04:58

标签: json reactjs

我正在玩React和json数据,我有一个输入字段来搜索json文件中的数据。

我可以弄清楚如何搜索json数据的一个键,是否有任何帮助的机会。

我的代码是:

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

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

1 个答案:

答案 0 :(得分:1)

一个简单的解决方案是使用*#或其他任何字符连接所有三个字符串,然后检查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 )
);