配列をオブジェクトに変換する方法を紹介します。
1. Object.assign() で配列をオブジェクトに変換
Object.assign(target, source) は、ソースの内容をターゲットにコピーします。以下のように配列をsourceに渡すと、「0」、「1」、「2」のようにIndexがkeyになり、配列の要素がvalueからなるオブジェクトが生成されます。
let arr = ['first', 'second', 'third'];
let obj = Object.assign({}, arr);
console.log(obj);
Output:
{ '0': 'first', '1': 'second', '2': 'third' }
2. Spread operatorで配列をオブジェクトに変換
Spread operatorを使用して、次のように配列をオブジェクトに変換できます。 key は Index になります。
let arr = ['first', 'second', 'third'];
let obj = {...arr}
console.log(obj);
Output:
{ '0': 'first', '1': 'second', '2': 'third' }
3. forEach() で配列をオブジェクトに変換
キーがIndexではなく任意の値に変更したい場合は、forEachなどのイテレーションステートメントを使用して配列を直接オブジェクトに変換できます。
let arr = ['first', 'second', 'third'];
let obj = {};
arr.forEach((element, index) => {
obj['key' + index] = element;
});
console.log(obj);
Output:
{ key0: 'first', key1: 'second', key2: 'third' }
4. Array.reduce() で配列をオブジェクトに変換
forEach() の代わりに Array.reduce() を使用して特定のキーでオブジェクトを作成できます。
let arr = ['first', 'second', 'third'];
let obj = arr.reduce((accumulator, value, index) => {
return {...accumulator, ['key' + index]: value};
}, {});
console.log(obj);
Output:
{ key0: 'first', key1: 'second', key2: 'third' }
5. Object.fromEntries() で key-value ペアの配列をオブジェクトに変換
Object.fromEntries() は key-value 要素を持つ Array または Map を引数として渡すとオブジェクトに変換します。
let arr = [['first', 'A'], ['second', 'B'], ['third', 'C']];
let obj = Object.fromEntries(arr);
console.log(obj);
Output:
{ first: 'A', second: 'B', third: 'C' }
ちなみに、 Object.fromEntries()
で Map をオブジェクトとして渡すと、以下のように実装できます。
let map = new Map([['first', 'A'], ['second', 'B'], ['third', 'C']]);
console.log(map);
let obj = Object.fromEntries(map);
console.log(obj);
Output:
Map(3) { 'first' => 'A', 'second' => 'B', 'third' => 'C' }
{ first: 'A', second: 'B', third: 'C' }
Related Posts
- JavaScript - 現在のタイムスタンプを取得する
- Node.js - ファイル、ディレクトリの削除
- JavaScript - 文字列 空白 削除
- JavaScript sort() 関数、例の紹介
- JavaScript Set delete() 関数、値の削除
- JavaScript - 実行時間の測定方法
- JavaScript - 配列をオブジェクトに変換する4つの方法
- JavaScript - Mapの作成と初期化、3つの方法
- JavaScript - Map巡回、3つの方法
- JavaScript - Mapソート(キーまたはvalueでソート)
- JavaScript - オブジェクトに特定の値が存在することを確認する
- JavaScript - 数値がNaNであるかどうかを確認する方法
- JavaScript Enum (列挙型)
- JavaScript - 日付/時刻比較、3つの 方法
- JavaScript - 空の文字列の確認、2つの方法
- JavaScript - 最後の文字を削除する、4つの方法
- JavaScript - 配列を文字列に変換、3つの方法
- JavaScript - 複数行の文字列、3つの方法
- JavaScript - オブジェクトを文字列に変換する2つの方法
- JavaScript - 配列から重複排除、4つの方法
- JavaScript - 文字列の比較方法、5つの方法
- JavaScript - 文字列から数字のみを抽出する
- JavaScript - 配列のソート方法(昇順、降順)
- JavaScript - 文字列 切り出し(split、substr、substring、slice)
- JavaScript - Setを配列(Array)に変換する
- JavaScript - 文字列を配列(Array)に変換
- JavaScript - 関数の宣言方法
- JavaScript - 配列宣言、追加、削除などの基本的 な使用法のクリーンアップ
- JavaScript - 文字列を数値に変換する方法
- JavaScript - 文字列を結合する、接続する(concat、join、+)