Я пытаюсь отправить некоторые сообщения разговора в массив, используя следующий код:
myConversations: IConversation[] = [];
myConversationMessage: IConversationMessages = {
conversationId: 0,
messageId: 0,
messageText: ''
};
myConversationMessages: IConversationMessages[] = [];
this.conversationService.getConversations().subscribe(conversations => {
this.myConversations = conversations;
for (let i of this.myConversations) {
this.myConversationMessage.conversationId = i.conversationId;
for (let j of i.messages) {
this.myConversationMessage.messageId = j.messageId;
this.myConversationMessage.messageText = j.messageText;
this.myConversationMessages.push(this.myConversationMessage);
}
}
console.log(this.myConversationMessages);
});
Я получаю беседы и сообщения внутри них из объекта JSON.
Вместо отправки каждого сообщения в массив myConversationMessages в консоль выводится следующее:
0
conversationId: 2
messageId:2
messageText: "testing"
1
conversationId: 2
messageId:2
messageText: "testing"
2
conversationId: 2
messageId:2
messageText: "testing"
3
conversationId: 2
messageId:2
messageText: "testing"
Таким образом, последний объект "разговор" перезаписывает каждый элемент массива.
Может кто-нибудь сказать мне, почему мой код делает это? Большое спасибо заранее
P.S. Я могу загрузить дополнительный код, если он разрешит мою проблему.