как сопоставить массив в карте объекта другому массиву - PullRequest
1 голос
/ 18 февраля 2020

У меня есть объект

{
    "parent_entity_id": 394,
    "display_name": "Test POI",
    "event_code_prefix": "TEST",
    "address": null,
    "logo_url": "https://storage.png",
    "is_active": true,
    "identifier": [
        {
            "model_id": 10,
            "entity_id": 575,
            "is_active": true,
            "valid_value": [
                {
                    "type": "MACID",
                    "value": "AC:23:3F:23:8D:A1"
                }
            ],
            "display_name": "Test BLE Beacon 1",
            "is_mandatory": true,
            "entity_type_key": "BTBACID"
        },
        {
            "model_id": null,
            "entity_id": 576,
            "is_active": true,
            "valid_value": [
                {
                    "type": "GEOFENCE_CIRCLE",
                    "value": {
                        "latitude": 24.155678,
                        "longitude": 54.425175,
                        "radius_in_meters": 500
                    }
                }
            ],
            "display_name": "Test tower gate 1",
            "is_mandatory": true,
            "entity_type_key": "GIS"
        }
    ]
}

Мне нужно отобразить допустимые значения массива из объекта в другой массив с условием. если Ble карта для массива valid_value_BLE и если GIS для valid_values_GIS

1 Ответ

0 голосов
/ 18 февраля 2020

попробуйте

arr1=Obj.identifier.map(z => {
  if(z.entity_type_key=='GIS'){z['valid_value_GIS']=z.valid_value;
  }else{z['valid_value_BLE']=z.valid_value;}
  delete z.valid_value;  return z;
});

https://codepen.io/vkv88/pen/LYVZdwz?editors=0010

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...