配列をオブジェクトに変換するにはどうすればいいですか? 質問する

配列をオブジェクトに変換するにはどうすればいいですか? 質問する

変換する最良の方法は何ですか:

['a','b','c']

に:

{
  0: 'a',
  1: 'b',
  2: 'c'
}

ベストアンサー1

ECMAScript 6では、簡単にポリフィルできるObject.assign:

このObject.assign()メソッドは、1 つ以上のソース オブジェクトからターゲット オブジェクトに、列挙可能なすべての独自プロパティの値をコピーするために使用されます。ターゲット オブジェクトを返します。

Object.assign({}, ['a','b','c']); // {0:"a", 1:"b", 2:"c"}

length配列の独自のプロパティは列挙可能ではないためコピーされません。

また、ES8を使用することもできますスプレッド構文同じ結果を得るには、オブジェクトに対して次の操作を実行します。

{ ...['a', 'b', 'c'] }

カスタムキーの場合は、減らす:

['a', 'b', 'c'].reduce((a, v) => ({ ...a, [v]: v}), {}) 
// { a: "a", b: "b", c: "c" }

おすすめ記事