簡體   English   中英

檢查對象數組中的元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM