Всем привет! Сразу принесу извинения за "многобукаф".
Есть JSON, который выглядит следующим образом:
response: {
items: [
{from_id: 111111,
message: 'Hello world'},
{from_id: 111111,
message: 'Hello world'},
{from_id: 111112,
message: 'Lorem ipsum'},
],
profiles:[
{id: 111111,
first_name: 'Иван'},
{id: 111112,
first_name: 'Степан'}
]
}
Моя задача заключается в том, чтобы объединить данные из разных объектов, а именно:
first_name из profiles объединить с message из items. И объединить их таким образом, чтобы они действительно соответствовали друг другу.
Как я пробовал это сделать:
Не буду расписывать весь код, дабы не перегружать и без того объемный текст, перейду к сути:
var items_message = data.response.items.length;
var profiles_count = data.response.profiles.length;
for (var i=0; i<profiles_count; i++) {
for (var j=0; j<items_message; j++)
{
if(data.respone.profiles[i].id !== data.response.items[j].from_id)continue;
var profilesStr += data.response.profiles[i].first_name + ' ' + 'Написал:' + ' ' + data.response.items[j].text;
document.getElementById('example').innerHTML = profilesStr;
};
};
Такая конфигурация работает, но криво, т.е. и имена и посты вставляются в html, но не соответствуя друг другу. Плюс, если пользователь оставил несколько постов, то все они также вставляются в html.
Как решить данную задачу?
В итоге должно получаться, например:
'Иван написал: Hello world'