1. ホーム
  2. javascript

Key-ValueペアのArrayからオブジェクトを作成するには?

2023-11-05 21:37:36

質問

Pythonでは dict 1 コンストラクタにキーと値のペアのシーケンスを渡してください。

>>> dict([['name', 'Bob'], ['age', 42], ['breakfast', 'eggs']])
{'age': 42, 'name': 'Bob', 'breakfast': 'eggs'}

JavaScriptでこの種のことを行うには、そのための独自の関数を定義する以外に方法が思いつきません。

function pairs_to_object(pairs) {
    var ret = {};
    pairs.forEach(function (p) { ret[p[0]] = p[1]; });
    return ret;
}

しかし、私はJS noobです... この種のペアからオブジェクトへの変換のために何かビルトインされているのでしょうか?

1 この質問では、PythonのdictsをPythonのJSオブジェクトの対応するものとして扱います。もちろん、類似点はどちらもキー-バリューコレクションであるという事実だけに限られますが。

どのように解決するのですか?

執筆時点(2013年)では、JavaScriptのオブジェクト/辞書/連想配列には、このようなコンストラクタはネイティブではありません。

あなたが自分で言ったように、もちろん、例えば、関数的アプローチで reduce 関数を使用した関数的なアプローチを使用することができます。もちろん、古典的な for やより新しい forEach ループも機能します。しかし、何も組み込まれていません。


編集 : 2019年になって、今、私たちは オブジェクト.フロムエントリーズ を使えば、必要なものが手に入ります。