プログラマー VTuber 衣亥栖ティオのちょっとした話

Youtubeに投稿したプログラミング学習動画の補足説明をするためのブログです。

プログラマーへの道 #87 の補足説明

こんにちは、プログラマーVTuberの衣亥栖ティオです。
今回は以下の動画の補足説明をします。 動画内で実装したソースコードも載せています。


今回の動画で実装したソースコード

前回との差分は以下です。

https://github.com/tio-iis/memo-server/pull/14/files

動画時点の全体ソースコードは以下です。

https://github.com/tio-iis/memo-server/tree/8bfd36fe656a2fa3491a9f7b8334042c638a9f24

Object.values() について

メモ帳アプリのバックエンドサーバは以下のようなJSONを返します。

{
    "1643444953392": {
        "ID": 1643444953392,
        "Title": "aaaa",
        "Body": "bbbb",
        "CreatedAt": "2022-01-29T17:29:13+09:00",
        "UpdatedAt": "2022-01-29T17:29:13+09:00"
    },
    "1643446076726": {
        "ID": 1643446076726,
        "Title": "bbbb",
        "Body": "cccc",
        "CreatedAt": "2022-01-29T17:47:56+09:00",
        "UpdatedAt": "2022-01-29T17:47:56+09:00"
    }
}

メモのIDがキーとなり、そのキーに対応して、ID, Title, Body, CreatedAt, UpdatedAt を持つオブジェクトがひも付きます。 ここで私が欲しかったのは、キーに紐づくオブジェクトでした。 これにはメモの情報がすべて含まれるので、このオブジェクトを配列として抽出できれば、forEach() で1つ1つのメモをHTMLとして表示することができます。 ちなみに、上記のオブジェクトをそのまま forEach() で回すことはできません。 forEach() を利用できるのは配列やMapといった特定の型のみです。

キーに紐づくオブジェクト(値)を取得するために利用したのが、Object.values() です。

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/values