Построить / Создать многомерный объект из массива объектов javascript - PullRequest
0 голосов
/ 16 ноября 2018

У меня нет опыта работы с Javascript, и мне нужна помощь в следующей ситуации:

У меня есть несколько объектов внутри массива, и я перебираю их таким образом:

    for each(var obj in objs) {
       if (typeof(obj) === "object" ){
          .
          .
             switch (true) {
                 case  obj.id < 100: levelId=1; break;
                 case  obj.id < 10000: levelId=2; break;
                 case  obj.id < 1000000: levelId=3; break;
                 case  obj.id < 100000000: levelId=4; break;
             }; 
          .
          .  
       }
    }

Дело в том, чтобы определить по идентификатору, будет ли текущий объект дочерним по отношению к предыдущему.

Каждый объект имеет такие свойства, как:

"Obj": {
    "id": 1,
    "name": "Obj",
    "properties": {
        "attName": "Name",
        "attType": "Type",
        "attOccurance": "maxOccurs="1",
        .
        .
    }

Есть еще свойства, но мне нужны только эти.

Так что мне нужно создать многомерный объект, который будет иметь правильную структуру объектов выше, которые будут выглядеть так:

mainObj = {
    "Ob1": {
        "id": 1,
        "name": "Ob1",
        "properties": {
            "attName": "A1",
            "attType": "string",
            "attOccurance": "minOccurs="1""
        },
        "Ob2": {
            "id": 101,
            "name": "Ob2",
            "properties": {
                "attName": "B1",
                "attType": "string",
                "attOccurance": "minOccurs="1""
                },
            "Ob3": {
                "id": 10001,
                "name": "Ob3",
                "properties": {
                    "attName": "C1",
                    "attType": "string",
                    "attOccurance": "minOccurs="1""
                    },
            },
            "Ob4": {
                "id": 10002,
                "name": "Ob4",
                "properties": {
                    "attName": "C2",
                    "attType": "string",
                    "attOccurance": "minOccurs="1""
                    },
            },
        },
        "Ob5": {
            "id": 102,
            "name": "Ob5",
            "properties": {
                "attName": "B2",
                "attType": "string",
                "attOccurance": "minOccurs="1""
            },
        },
    }
    "Ob6": {
        "id": 2,
        "name": "Ob6",
        "properties": {
            "attName": "A2",
            "attType": "string",
            "attOccurance": "minOccurs="1""
        },
    },
}

Пожалуйста, если вы можете помочь мне с идеей или кодом об этом

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