Реструктурировать объекты в объекте JavaScript - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть object как эта "модель":

var model = {
    comments: {
        123: "I disagree on this",
        42563: "Sounds correct"
    },
    answer: {
        123: "No",
        87: "Yes"
    }
};

Мне нужно реструктурировать "модель" object в это:

var wishModel = {
    123: {
        answer: "No",
        comments: "I disagree on this"
    },
    87: {
        answer: "Yes"
    },
    42563: {
        comments: "Sounds correct"
    }
};

Я симпатичнаяновичок в работе с javascript objects и не знаю с чего начать.

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Вы можете перебирать объекты, используя for..of, как показано ниже

var model = {
  comments: {
    123: "I disagree on this",
    42563: "Sounds correct"
  },
  answer: {
    123: "No",
    87: "Yes"
  }
};

let wishModel = {}

for(let [k,v] of Object.entries(model)) {
  for(let [n, r] of Object.entries(v)) {
    wishModel[n] = wishModel[n] || {}
    wishModel[n][k] = r
  }
}

console.log(wishModel)
0 голосов
/ 22 ноября 2018

Вот способ для новичка:

var wishModel = {};

for (var key of ["comments", "answer"]) {
  for (var prop in model[key]) {
    wishModel[prop] = wishModel[prop] || {};
    wishModel[prop][key] = model[key][prop];
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...