【发布时间】:2017-03-08 23:10:43
【问题描述】:
我想根据我在输入字段中输入的内容获得结果。此搜索可以通过多个键过滤,例如 firstName、lastName、emailId。
这是我的对象数组,
var resData = [
{
firstName:"Jhon",
lastName:"adam",
emailId:"jhn12@gmail.com"
},
{
firstName:"Kyle",
lastName:"Miller",
emailId:"kl12@gmail.com"
},
{
firstName:"Jhonathan",
lastName:"adam",
emailId:"jadm12@gmail.com"
},
{
firstName:"Lewis",
lastName:"harber",
emailId:"lewh12@gmail.com"
}
];
Javascript 代码,
resData.filter(data, function(item){
item.map(function(list, i) {
if (list.firstName.toLowerCase().indexOf(self.state.inputValue.toLowerCase()) === -1 || list.lastName.toLowerCase().indexOf(self.state.inputValue.toLowerCase()) === -1 || list.emailId.toLowerCase().indexOf(self.state.inputValue.toLowerCase()) === -1) {
return;
}
console.log(list);
});
});
【问题讨论】:
-
那么用户应该如何输入多个值呢?是否有格式,例如
firstname:Jhon emaiid:jhn12@gmail.com?或者它只是一个以空格分隔的字符串列表:jhon jhn12@gmail.com? -
听起来你想要一个自动完成来查找所有值的匹配项。
map在那里做什么?
标签: javascript jquery reactjs lodash