オブジェクトをループして、key を取り出したり、配列を作成したりしてみます。

営業日のオブジェクトがあるとします。

let businessHours = {
  mon: { open: "10:00", close: "18:00" },
  wed: { open: "11:00", close: "19:00" },
  fri: { open: "10:00", close: "18:00" },
};

営業日のオブジェクトから mon、wed、fri を取り出すには、Object.keysを使います。

Object.keys(businessHours)

console.log();で確認すると、

image2

keyが配列になりました。

forを使って、値を取り出してみます。

for (businessHourKey of Object.keys(businessHours)) {
  console.log(businessHourKey);
}

image3 次は、オブジェクトの値を取り出します。

オブジェクトの値を取り出すには、Object.valuesを使います。

Object.values(businessHours)

console.log();で確認すると、

image4

値が配列になって取り出すことができました。

オブジェクト全体を取り出すには、Object.entriesを使います。

Object.entries(businessHours)

console.log();で確認すると、

image5

key と値が配列になりました。

Object.entriesは、keyvalueを別々に取り出すことができます。

for ([key, value] of Object.entries(businessHours)) {
  console.log(key, value);
}

image6

例えば、それぞれの営業時間をお知らせしたい場合は、以下のようにします。

for ([key, value] of Object.entries(businessHours)) {
  if (key === "mon") {
    day = "月曜日";
  } else if (key === "wed") {
    day = "水曜日";
  } else {
    day = "金曜日";
  }
  console.log(`${day}の営業時間は, ${value.open}から${value.close}までです。`);
}

image7

各曜日の営業時間をお知らせすることができました。

ブログ一覧