alert не выводит часть объекта

Есть небольшой код, и надо чтобы после alert вывел то что записал юзер в часть объекта

const numberOfFilms = +prompt("Сколько фильмов вы уже посмотрели?", "");

const personalMovieDB =  {
    count: numberOfFilms,
    movies: {},
    actors: {},
    genres: [],
    privat: false
};

const a = prompt('Один из последних просмотренных фильмов?', ''),
    b = prompt('На сколько оцените его?', ''),
    c = prompt('Один из последних просмотренных фильмов?', ''),
    d = prompt('На сколько оцените его?', '');

personalMovieDB.movies[a] = b;
personalMovieDB.movies[c] = d;

alert(personalMovieDB.movies);

Ответы (2 шт):

Автор решения: Михаил Непомнящий

Алерт выводит строку, а объект при преобразовании в строку даст [object Object]. Это корректное поведение.

Организуйте вывод по-другому. Например, заведите шаблонную строку.

alert(`a: ${personalMovieDB.movies.a}, b: ${personalMovieDB.movies.b}`)
→ Ссылка
Автор решения: vsemozhebuty

Попробуйте так:

const numberOfFilms = +prompt("Сколько фильмов вы уже посмотрели?", "");

const personalMovieDB =  {
    count: numberOfFilms,
    movies: {},
    actors: {},
    genres: [],
    privat: false
};

const a = prompt('Один из последних просмотренных фильмов?', ''),
    b = prompt('На сколько оцените его?', ''),
    c = prompt('Один из последних просмотренных фильмов?', ''),
    d = prompt('На сколько оцените его?', '');

personalMovieDB.movies[a] = b;
personalMovieDB.movies[c] = d;

alert(
  Object.entries(personalMovieDB.movies)
    .reduce((str, [key, value]) => `${str}${key}: ${value}\n`, '')
);

→ Ссылка