[英]check element in array of objects
我有一個 javascript 對象數組,如下所示:
public clientList = [
{
name: 'LA Care Health Plan',
representative: {
name: 'Brittany Bennet',
imageUrl: '../../../../../../assets/images/clients/5.jpg',
},
team: [
{
name: 'Chris',
imageUrl: '../../../../../../assets/images/clients/1.jpg',
},
{
name: 'David',
imageUrl: '../../../../../../assets/images/clients/2.png',
},
{
name: 'Mary',
imageUrl: '../../../../../../assets/images/clients/3.png',
},
{
name: 'John',
imageUrl: '../../../../../../assets/images/clients/4.jpg',
},
],
environment: [
{
id: 1,
name: 'Staging',
services: ['File submission', 'Bulk update'],
},
{
id: 2,
name: 'Production',
services: ['Workflow Building', 'Workflow Building'],
},
{
id: 3,
name: 'Development',
services: ['Workflow Building', 'Workflow Building'],
},
],
},
{
name: 'Chicago State Health Dermatology department',
representative: {
name: 'Amanda Sue',
imageUrl: '../../../../../../assets/images/clients/2.png',
},
team: [
{
name: 'Stacy',
imageUrl: '../../../../../../assets/images/clients/10.jpg',
},
{
name: 'John',
imageUrl: '../../../../../../assets/images/clients/11.jpg',
},
],
environment: [
{
id: 10,
name: 'Staging',
services: ['File submission', 'Bulk update'],
},
{
id: 12,
name: 'Production',
services: ['Workflow Building', 'Workflow Building'],
},
{
id: 12,
name: 'Development',
services: ['Workflow Building', 'Workflow Building'],
},
],
},
];
單擊單選按鈕,我得到 object 的environment key
,如
{
id: 12,
name: 'Development',
services: ['Workflow Building', 'Workflow Building'],
},
現在我必須查看clientList array
中是否存在 object 如果存在,那么我必須返回完整的 object 並將變量標記為 true
我試過這樣做,但沒有成功......
this.clientList.map((x) => {
x.environment.find((id) => id.id === event.id);
});
知道我在這里做錯了什么,有人可以幫忙嗎
您可以為此目的使用 function filter
。 這樣做:
const searchedClient = this.clientList.filter(client => client.environment.filter(eachEnv => eachEnv.id === event.id).length > 0);
searchedClient
將是一個數組,其中您想要的客戶端 object 在第一個 position 中,如果沒有 id 相等,則為空數組
如果要過濾客戶端列表 Object,請使用過濾器而不是 map。 如果我沒有錯,這就是你想要的。
this.clientList = this.clientList.filter(client => {
if (x.environment.find((id) => id.id === event.id)) {
return client;
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.