Vue Js 2.0
で小さなアプリケーションを構築しています。配列形式の要素をフィルタリングしようとしていますが、要素が次のような単一の文字列であればフォーマットします。Vue JSの配列要素からフィルタリングする方法
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_name.toLowerCase().includes(searchContact)
を持っていると思いますが、この場合にはcontacts_association
が戻ってエラーをスロー配列形式である:
TypeError: item.contactName.toLowerCase is not a function
私contacts_association
は、フォーマットを次のようにあります
"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,
}
]
}
]
私はこれで私を助け、first_name
とlast_name
でフィルターを持っていると思います。
私は全体のデータを共有することができますオブジェクト "this.meetings"私たちと、私はあなたがフィルタのために最初に何かをマップする必要があるので、私は全体のデータを持っている場合はさらに行くことができます –