entries【プロパティ配列取得 (キー・値)】
keys【プロパティ配列取得 (キー)】
values【プロパティ配列取得 (値)】
fromEntries【オブジェクト生成 (イテラブル)】

Object.entries【プロパティ配列取得 (キー・値)】
Object.keys【プロパティ配列取得 (キー)】
Object.values【プロパティ配列取得 (値)】

メモ

概要

  • プロパティ配列を取得

関連

外部リンク

構文

Object.entries( O ) 

 プロパティ配列 (キー・値)
O オブジェクト (オブジェクト以外はオブジェクト変換)

TypeError 例外 Oがオブジェクト変換不可
Object.keys( O ) 

 プロパティ配列 (キー)
O オブジェクト (オブジェクト以外はオブジェクト変換  )

TypeError 例外
O (オブジェクト)がオブジェクト以外 
O (オブジェクト)がオブジェクト変換不可 
Object.values( O ) 

 プロパティ配列得 (値)
O オブジェクト (オブジェクト以外はオブジェクト変換)

TypeError 例外 O (オブジェクト)がオブジェクト変換不可

const obj = {
  'Key1': 'Value1',
  'Key2': 'Value2',
  'Key3': 'Value3',
};

// Object.entries【プロパティ配列取得 (キー・値)】
console.log(Object.entries(obj));
// 出力:
// Array(3) [ (2) […], (2) […], (2) […] ]
//   0: Array [ "Key1", "Value1" ]
// ​  1: Array [ "Key2", "Value2" ]
// ​  2: Array [ "Key3", "Value3" ]
// ​  length: 3

for (let [key, value] of Object.entries(obj)) {
  console.log(key, value);
}
// 出力:
// Key1 Value1
// Key2 Value2
// Key3 Value3

// Object.keys【プロパティ配列取得 (キー)】
console.log(Object.keys(obj));
// 出力:Array(3) [ "Key1", "Key2", "Key3" ]

for (let key of Object.keys(obj)) {
  console.log(key);
}
// 出力:
// Key1
// Key2
// Key3

// Object.values【プロパティ配列取得 (値)】
console.log(Object.values(obj));
// 出力:Array(3) [ "Value1", "Value2", "Value3" ]

for (let value of Object.values(obj)) {
  console.log(value);
}
// 出力:
// Value1
// Value2
// Value3

Object.fromEntries【オブジェクト生成 (イテラブル)】

メモ

概要

  • イテラブル オブジェクトをプロパティ(キー・値)としてオブジェクト生成

関連

外部リンク

構文

Object.fromEntries( iterable ) 

 オブジェクト
iterable イテラブル オブジェクト

TypeError 例外 iterableがイテラブル オブジェクト以外

const array = [
  ['Key1', 'Value1'],
  ['Key2', 'Value2'],
  ['Key3', 'Value3'],
];
let obj1 = Object.fromEntries(array);
console.log(obj1);
// 出力:Object { Key1: "Value1", Key2: "Value2", Key3: "Value3" }

const array2 = [
  ['KeyA', 'ValueA'],
  ['KeyB', 'ValueB'],
  ['KeyC', 'ValueC'],
];
const map = new Map(array2);
let obj2 = Object.fromEntries(map);
console.log(obj2);
// 出力:Object { KeyA: "ValueA", KeyB: "ValueB", KeyC: "ValueC" }