zpět k lekci

Uložení data přečtení

důležitost: 5

Máme stejné pole zpráv, jako v předchozí úloze. Situace je obdobná.

let zprávy = [
  {text: "Ahoj", od: "Jan"},
  {text: "Jak se máš?", od: "Jan"},
  {text: "Brzy se uvidíme", od: "Alice"}
];

Otázka teď zní: kterou datovou strukturu byste doporučili k uložení informace „kdy byla zpráva přečtena“?

V předchozí úloze jsme potřebovali ukládat jen skutečnost „ano/ne“. Nyní musíme ukládat datum, které by mělo zůstat v paměti jen do doby, než bude zpráva odklizena sběračem odpadků.

P.S. Data lze ukládat jako objekty vestavěné třídy Date, kterou probereme později.

K uložení data můžeme použít WeakMap:

let zprávy = [
  {text: "Ahoj", od: "Jan"},
  {text: "Jak se máš?", od: "Jan"},
  {text: "Brzy se uvidíme", od: "Alice"}
];

let mapaPřečtení = new WeakMap();

mapaPřečtení.set(zprávy[0], new Date(2017, 1, 1));
// objekty Date prostudujeme později