Это двойной вопрос. В моем приложении Angular есть класс ListOfIds, который содержит три массива чисел. Я получаю объект с сервера, который наблюдается как тип ListOfIds. Когда я stingify и console.log () объект, он отображает имена массивов и значения в каждом массиве. Итак, я знаю, что данные поступают. Но когда я пытаюсь присвоить объект экземпляру этого класса и вытащить один из массивов, я получаю неопределенную ошибку. Как я могу извлечь массив, который мне нужен, и назначить его в переменную, которую я мог бы перебрать?
export class ListOfIds {
FirstList: Array<number> = new Array<number>();
SecondList: Array<number> = new Array<number>();
ThirdList: Array<number> = new Array<number>();
}
.ts code
instanceOfListOfIds: ListOfIds;
this._httpService.updateEntity(this.myEntity).subscribe(
(objectFromServer) => {
this.instanceOfListOfIds = objectFromServer;
console.log('Display in console: ' + this.instanceOfListOfIds.FirstList); // undefined
console.log('items from the server: ' + JSON.stringify(objectFromServer)); // displays array names and values
}
Это приводит ко второму вопросу. myEntity имеет те же три массива чисел. В том же http-вызове я хотел бы переназначить все идентификаторы из FirstList, полученные с сервера, в FirstList of myEntity. Не уверен, что это сработает, поскольку возникла неопределенная ошибка. Спасибо заранее.
this.myEntity.FirstList.forEach(function (item, index) {
if (item.id == 0) {
item.id = this.instanceOfListOfIds.FirstList.indexOf[index];
}
});