Зберігати дати читання
важливість: 5
Є масив повідомлень, як у попередньому завдані. Ситуація схожа.
let messages = [
{text: "Привіт", from: "Іван"},
{text: "Як справи?", from: "Іван"},
{text: "До зустрічі", from: "Аліса"}
];
Зараз питання наступне: яку структуру даних ви б запропонували для того, щоб зберегти інформацію: “Коли повідомлення було прочитано?”.
У попередньому завданні нам потрібно лише зберігати інформацію “так/ні”. Тепер нам потрібно зберігати дату, і це повинно залишитися в пам’яті лише доки повідомлення не буде видалено.
P.S. Дати можуть зберігатися як об’єкти вбудованого класу Data
, що ми розглянемо пізніше.
Щоб зберегти дату, ми можемо використовувати WeakMap
:
let messages = [
{text: "Привіт", from: "Іван"},
{text: "Як справи?", from: "Іван"},
{text: "До зустрічі", from: "Аліса"}
];
let readMap = new WeakMap();
readMap.set(messages[0], new Date(2017, 1, 1));
// об’єкт Date ми розглянемо пізніше