既読の日時を保存
重要度: 5
前回のタスクと同様に、メッセージの配列が与えられています。状況は似ています。
let messages = [
{text: "Hello", from: "John"},
{text: "How goes?", from: "John"},
{text: "See you soon", from: "Alice"}
];
ここで質問です。情報を格納するデータ構造として、あなたは「メッセージが読まれたとき」を格納するのに何を提案しますか?
前回のタスクでは、「はい/いいえ」という事実のみを格納すればよかったです。今回は日付を格納する必要があり、メッセージがガーベッジコレクションされるまでメモリに残るだけです。
追伸の日付は、後ほど説明する組み込みのDate
クラスのオブジェクトとして格納できます。
日付を格納するには、WeakMap
を使用できます。
let messages = [
{text: "Hello", from: "John"},
{text: "How goes?", from: "John"},
{text: "See you soon", from: "Alice"}
];
let readMap = new WeakMap();
readMap.set(messages[0], new Date(2017, 1, 1));
// Date object we'll study later