1

指定された ID が JavaScript のネストされたオブジェクト内に存在するかどうかを確認する最良の方法は何ですか?

物体

campusElement = {
        "id": "C1",
        "name": "camp",
        "buildings": [{
            "id": "B1",
            "name": "B-name",
            "floors": [{
                "id": "F1",
                "name": "F-name",
                "rooms": [{
                    "id": "R1",
                    "name": "R-name"
                }]
            }]
        }]
    }

現在、オブジェクト全体をループして実行しています

component.ts

isIdExists(elementID: string) {
    var isIdUnique = false;
    if (campusElement.id === elementID) {
        isIdUnique = true;
    } else {
        for (const building of campusElement.buildings) {
            if (building.id === elementID) {
                isIdUnique = true;
                break;
            } else {
                for (const floor of building.floors) {
                    if (floor.id === elementID) {
                        isIdUnique = true;
                        break;
                    } else {
                        for (const room of floor.rooms) {
                            if (room.id === elementID) {
                                isIdUnique = true;
                                break;
                            }
                        }
                    }
                }
            }
        }
    }
    return isIdUnique;
}

これを行うより良い方法はありますか?

4

2 に答える 2