レッスンに戻る

読んだ日付を格納する

重要性: 5

前のタスクのメッセージ配列があります。状況は似ています。

let messages = [
    {text: "Hello", from: "John"},
    {text: "How goes?", from: "John"},
    {text: "See you soon", from: "Alice"}
];

この問題: “いつメッセージが読まれたか” という情報を格納するのにあなたが提案するのはどのようなデータ構造ですか?

前のタスクでは、“既読/未読” の事実の保持だけが必要でした。今度は日付を保存する必要があります。なお、前と同じようにメッセージが削除されたら現れないでください。

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 オブジェクトについては後ほど学びます