こんにちは。
質問への追記・修正の依頼のほうで、
jun68ykt 2018/10/24 00:13
こんにちは。ご質問の要点は、 typesという変数に ["hoge","huga"] という配列が入っているときに、 { hoge: [], huga: [] } というオブジェクトを作るにはどうしたらいいか、ということでよいでしょうか?
Hayato1201 2018/10/24 09:26
そういう事です!
とのご回答を頂きましたので、上記の主旨で、以下のコードにて回答します。
javascript
1
2const types = ['hoge', 'huga', 'piyo'];
3
4const list = types.reduce(
5 (o, type) => {
6 o[type] = [];
7 return o;
8}, {});
9
上記を実行すると、 list
には hoge
, huga
, piyo
をプロパティとして持ち、それぞれの値が空配列であるようなオブジェクトが入ります。
以下は動作確認のためのサンプルです。
参考になれば幸いです。
補足
Object.fromEntries() という新しいメソッドがあり、この回答を書いている時点においては、 FireFox 63 でのみサポートされているようですが、これを使うと以下のように書けます。
javascript
1const types = ['hoge', 'huga', 'piyo'];
2
3const list = Object.fromEntries(types.map(type => [type, []]));
以下は上記を使ったサンプルです。
上記を Mac版 FireFox 63.0 で開いたところ、意図どおりの結果が得られました。他のブラウザでは未確認です。