Объединение четырех массивов в свойства объекта - PullRequest
0 голосов
/ 03 августа 2020

Недавно у меня был случай, когда я получил 4 разных коллекции, но они связаны друг с другом вложенным образом, поэтому d связано с c, c связано с b, а b связано с a.

Фильтрация 4 массивов вызывает остановку браузера из-за бесконечного предсказания l oop, поэтому, пытаясь предотвратить это при каждом положительном возникновении, я удалял найденный объект из массива.

.then((response) => {
    var rsp = response.data;

    rsp.cities.filter((city, c) => {
        city.regions = rsp.regions.filter((region, r) => {
            region.streets = rsp.streets.filter((street, s) => {
                street.buildings = rsp.buildings.filter((building, b) => {
                    if(building._references.coverage.streets == street.id) {
                        delete rsp.buildings[b];
                        return building;
                    }
                })

                if(street._references.coverage.regions == region.id) {
                    delete rsp.streets[s];
                    return street;
                }
            })

            if(region._references.coverage.cities == city.id) {
                delete rsp.regions[r];
                return region;
            }
        });
    })
});

Is есть ли лучший / более простой способ использования этого подхода, например, reduce, и как он применим к этому случаю?

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