назад до уроку

Зберігати дати читання

важливість: 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 ми розглянемо пізніше