JavaScript中的嵌套过滤器

问题描述 投票:0回答:1

我在javascript中具有以下嵌套过滤器,但从内部过滤器返回的返回用户没有达到我想要的角色,因此我使用了另一种方法。这是我所拥有的

  let admins = [];
  let customers = [];

  if(users.results){
    users.results.filter(user => {
      user.roles.filter(role => {
        if(role.role.name === 'ADMIN'){
          admins.push(user);
        }
      });
    });
    users.results.filter(user => {
      user.roles.filter(role => {
        if (role.role.name === 'CUSTOMER') {
          customers.push(user);
        }
      });
    });
  }

有效负载的示例是

{
            "addresses": [],
            "created_at": "2020-04-18 14:21:55",
            "email": "[email protected]",
            "first_name": "Lucas",
            "id": "5c7f9e0d-4727-416c-b0ce-61bc7542aee4",
            "image": null,
            "is_active": false,
            "is_verified": false,
            "last_name": "DeliveryPersonnel",
            "phone": "2547324738723",
            "roles": [
                {
                    "role": {
                        "description": "Can only access the online shop",
                        "name": "CUSTOMER"
                    }
                },
                {
                    "role": {
                        "description": "Can only access orders for delivery",
                        "name": "DELIVERY_PERSONNEL"
                    }
                }
            ],
            "updated_at": "2020-04-18 14:21:55"
        },
        {
        "addresses": [],
        "created_at": "2020-04-18 14:20:57",
        "email": "[email protected]",
        "first_name": "Admin",
        "id": "40f32c1e-5f53-41c7-8b78-e4918b05472d",
        "image": null,
        "is_active": false,
        "is_verified": false,
        "last_name": "Test",
        "phone": "254711123456",
        "roles": [
            {
                "role": {
                    "description": "Can create, view & update all records",
                    "name": "ADMIN"
                }
            },
            {
                "role": {
                    "description": "Can only access the online shop",
                    "name": "CUSTOMER"
                }
            }
        ],
        "updated_at": "2020-04-18 14:20:57"
    }

[如何在不使用数组推入方法的情况下在[email protected]admins数组中同时具有customers和在[email protected]数组中具有customers

javascript reactjs
1个回答
0
投票

不确定此处是主要问题,但可以使用传播语法来代替使用Array.push:

admins = [...admins, user]
© www.soinside.com 2019 - 2024. All rights reserved.