Javascript Vue js搜索数组
我试图在数组中搜索json对象上的查询字符串。返回的字段是筛选结果的数组。当前,列表返回的是名称字段,而不是数字字段Javascript Vue js搜索数组,javascript,arrays,sorting,vue.js,vuejs2,Javascript,Arrays,Sorting,Vue.js,Vuejs2,我试图在数组中搜索json对象上的查询字符串。返回的字段是筛选结果的数组。当前,列表返回的是名称字段,而不是数字字段 computed: { search: function () { let self = this let filtered = [] filtered = self.jcontacts.filter(function(contact){ return contac
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"
],
“名字”:“杰米”,
“姓氏”:“福克斯”
}]
phoneNumber!=电话号码
.includes()
函数)phoneNumber!=电话号码
.includes()
函数)这是一个打字错误。签出字段phoneNumber被筛选为phoneNumber 它是一个数组,所以你可以像
contact.phoneNumber.forEach( number => {
if(number.toLowerCase().indexOf(self.query.toLowerCase()) >=0)
return true;
});
我认为同样的,你也可以把它写在电子邮件中,因为它也是一个数组。它是一个拼写错误。签出字段phoneNumber被筛选为phoneNumber 它是一个数组,所以你可以像
contact.phoneNumber.forEach( number => {
if(number.toLowerCase().indexOf(self.query.toLowerCase()) >=0)
return true;
});
我认为同样,您也可以将其写在电子邮件中,因为它也是一个数组。您的电子邮件和电话号码在数组中,请尝试将代码更改为
联系人。电子邮件[0]。toLowerCase()
和联系人。电话号码[0]。toLowerCase()
,这应该可以工作您的电子邮件和电话号码在数组中,尝试将代码更改为contact.email[0].toLowerCase()
和contact.phonenumber[0].toLowerCase()
,这应该有效这应该是注释而不是答案这应该是注释而不是答案