Javascript 如何从Vue JS中的数组元素进行筛选
我正在Javascript 如何从Vue JS中的数组元素进行筛选,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我正在Vue Js 2.0中构建一个小应用程序,尝试过滤数组格式的元素,如果元素是单字符串,我将格式化如下: const search = this.search_by_name.toLowerCase() const searchContact = this.search_by_contact.toLowerCase() return this.meetings .map(i => ({ id: i.interaction.id, client_n
Vue Js 2.0
中构建一个小应用程序,尝试过滤数组格式的元素,如果元素是单字符串,我将格式化如下:
const search = this.search_by_name.toLowerCase()
const searchContact = this.search_by_contact.toLowerCase()
return this.meetings
.map(i => ({
id: i.interaction.id,
client_name: i.client.name,
contactName: i.contacts_association,
}))
.filter((item) =>
item.client_name.toLowerCase().includes(search)
)
我想要item.contactName.first\u name.toLowerCase().includes(searchContact)
但在本例中,联系人\u关联
采用数组格式,返回错误:
TypeError:item.contactName.toLowerCase不是函数
我的联系人协会
格式如下:
"contacts_association":[
{
"id":431,
"first_name":"Nikunj",
"last_name":"Doshi",
"address":"602-603, 6th Floor, Dalamal House,Nariman Point",
"city":"Mumbai",
"state":"Maharashtra",
"country":"India",
"pivot":
{
"interaction_id":139,
"contact_id":431,
"company_id":160,
"created_at":"2017-09-23 16:42:56",
"updated_at":"2017-09-23 16:42:56"
},
"company":[
{
"id":160,
"name":"Bay Capital Investment Managers Pvt Ltd",
"address":"602-603, 6th Floor, Dalamal House,Nariman Point",
"city":"Mumbai",
"state":"Maharashtra",
"country":"India",
"type":"Investor",
"sub_type":"FII",
"is_client":0,
}
]
}
{
"id":431,
"first_name":"Vikash",
"last_name":"Kumar",
"address":"602-603, 6th Floor, Dalamal House,Nariman Point",
"city":"Mumbai",
"state":"Maharashtra",
"country":"India",
"pivot":
{
"interaction_id":139,
"contact_id":431,
"company_id":160,
"created_at":"2017-09-23 16:42:56",
"updated_at":"2017-09-23 16:42:56"
},
"company":[
{
"id":160,
"name":"Investment Managers Pvt Ltd",
"address":"Nariman Point",
"city":"Mumbai",
"state":"Maharashtra",
"country":"India",
"type":"Investor",
"sub_type":"FII",
"is_client":0,
}
]
}
]
我想使用带有
名字和姓氏的过滤器,请帮我解决这个问题。所以基本上你是说联系人姓名是一个联系人数组,而不是一个,您想将contactName
中至少有一个联系人的所有会议与searchContact
中的姓名匹配吗
试试这个(未经测试):
.filter(项=>
item.client_name.toLowerCase().includes(搜索)&&
item.contactName.some(c=>
(c.first_name+“”+c.last_name).toLowerCase().includes(searchContact)
)
)
此外,我还应该指出,分别为contactName
和client\u name
混合使用和是令人困惑的。挑一个 那么基本上你是说contactName
是一个联系人数组,而不是一个,你想将所有在contactName
中至少有一个联系人的会议与searchContact
中的姓名匹配
试试这个(未经测试):
.filter(项=>
item.client_name.toLowerCase().includes(搜索)&&
item.contactName.some(c=>
(c.first_name+“”+c.last_name).toLowerCase().includes(searchContact)
)
)
此外,我还应该指出,分别为contactName
和client\u name
混合使用和是令人困惑的。挑一个 您是否可以与我们共享整个数据对象“this.meetings”,因为我不确定您是否需要首先为筛选器映射任何内容,如果我有整个数据,我可以更进一步。您是否可以与我们共享整个数据对象“this.meetings”,因为我不确定您是否需要首先为筛选器映射任何内容,如果我有完整的数据,我可以更进一步。谢谢你的建议。这很有帮助。谢谢你的建议。这有帮助。