Мне на выходе дается такой массив (картинка ниже), как обратиться к элементам? Через цикл for не получается...
UPD
export class SocialBlockComponent implements AfterViewInit, OnInit {
friends: FriendBirthdayPreview[] = [];
countBirthdays;
ngOnInit() {
if (this.authenticationService.isLoggedIn()) {
try {
this.loadBirthdays();
this.countNewBirthdays();
} catch (Error) {
console.log(Error.message);
}
}
}
loadBirthdays() {
this.friends = [];
this.friendService.getFriendsBirthdays(this.profileService.getProfileInfo().id).subscribe(
(response) => {
for (let i = 0; i < response.length; i++) {
response[i]['checkedBirthday'] = false;
const friend: FriendBirthdayPreview = new FriendBirthdayPreview;
Object.assign(friend, response[i]);
this.friends.push(friend);
}
}
);
}
countNewBirthdays() {
console.log(this.friends); // Выводит то, что показано в скриншоте
for (let i = 0; i < this.friends.length; i++) {
console.log(this.friends[i]); // Ничего не выводит
}
}
Проблема в этой части кода:
this.loadBirthdays();
this.countNewBirthdays();
Вы вызываете countNewBirthdays
, еще до того как пришел ответ от сервера, вы должны переместить countNewBirthdays
в subscribe
после цикла for
:
for (let i = 0; i < response.length; i++) {
response[i]['checkedBirthday'] = false;
const friend: FriendBirthdayPreview = new FriendBirthdayPreview;
Object.assign(friend, response[i]);
this.friends.push(friend);
}
this.countNewBirthdays();
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть ли возможность повторно запускать Content скрипт?
Вам необходимо создать приложение для автоматизации работы погрузочных кранов, позволяющих перемещать плиты между грузовыми автомобилями...