Qraft(クラフト) 資格・学習クイズアプリ

JavaScript入門 練習問題 66:組み込みオブジェクト:オブジェクトの配列化

📊 Qraftユーザーの成績

  • 難易度 Bランク(レーティング1200)
  • 難易度 766位/2795問中
  • 正答率 —(0回)
レーティングは解いた人の実力と正誤から算出する難しさ(初期値1200)。ランクはその全問題中の順位(S+が最難関、F-が最易)

次のコードを実行したときのコンソールへの出力として正しいものはどれですか?

```javascript
const obj = { x: 10, y: 20 };
const result = Object.entries(obj);
console.log(result.length);
```

  1. コンソールには `2` が出力される。
  2. コンソールには `4` が出力される。
  3. コンソールには `1` が出力される。
  4. コンソールには `0` が出力される。
  5. コンソールには `3` が出力される。
正解と解説を見る
正解:コンソールには `2` が出力される。

Object.entries()メソッドは、オブジェクトの各プロパティを「キーと値のペアの配列」として取得するため、正解はプロパティ数と同じ2となります。

【正解の理由】
`Object.entries(obj)`は、引数に渡したオブジェクトのキーと値を配列にまとめて返します。`{ x: 10, y: 20 }`を渡すと、`[['x', 10], ['y', 20]]`という配列(要素数2)が生成されるため、その`.length`は2となります。

【不正解の理由】
• 「コンソールには `4` が出力される。」という説明は誤り。キーと値がすべて平坦化されて4要素の配列になるわけではない
• 「コンソールには `1` が出力される。」という説明は誤り。オブジェクト全体が1つの要素として扱われるわけではない
• 「コンソールには `0` が出力される。」という説明は誤り。プロパティが存在するため空配列にはならない
• 「コンソールには `3` が出力される。」という説明は誤り。プロパティはxとyの2つのみであるため、要素数は3にならない

← 前の問題問題一覧次の問題 →
アプリで解いてレーティングを上げる(無料・登録不要)