我正在尝试在数组中搜索json对象上的查询字符串。返回的字段是过滤结果的数组。当前,列表返回的是名称字段,而不是数字字段。
computed: {
search: function () {
let self = this
let filtered = []
filtered = self.jcontacts.filter(function(contact){
return contact.firstname.toLowerCase().indexOf(self.query.toLowerCase())>=0 ||
contact.lastname.toLowerCase().indexOf(self.query.toLowerCase())>=0;
contact.email.toLowerCase().indexOf(self.query.toLowerCase()) >=0 ||
contact.phonenumber.toLowerCase().indexOf(self.query.toLowerCase()) >=0;
}
);
return this.contacts = filtered
}
},
}
在搜索方法中过滤的方法未显示该数字。 json的示例如下:
[ { “ id”:1 “电话号码”: [ “ 3908902” ], “电子邮件”:[ “ jamie@fox.com” ], “ firstname”:“ Jamie”, “ lastname”:“ Fox” }]
答案 0 :(得分:2)
phoneNumber != phonenumber
.includes()
函数)self.query.toLowerCase()
存储为变量或其他计算出的属性答案 1 :(得分:0)
这是一个错字。签出字段phoneNumber被过滤为电话号码。
这是一个数组,因此您可以这样做
contact.phoneNumber.forEach( number => {
if(number.toLowerCase().indexOf(self.query.toLowerCase()) >=0)
return true;
});
我认为您同样可以将其记录下来以发送电子邮件,因为它也是一个数组。