javascript
1[{a: 1, b: 2, c: 3}, {a: 4, b: 5, d: 6}]
というデータを
javascript
1[{a: [1, 4], b: [2, 5], c: [3], d: [6]}]
に変換したいのですが、どうしても以下のような命令的な記述になってしまいます。
javascrip
1const arr = [{a: 1, b: 2, c: 3}, {a: 4, b: 5, d: 6}] 2 3let result = {} 4for (let i = 0; i < arr.length; i++) { 5 for (const key of Object.keys(arr[i])) { 6 if (result[key] == null) { 7 result[key] = [] 8 } 9 result[key].push(arr[i][key]) 10 } 11} 12console.log(result) //=> [{a: [1, 4], b: [2, 5], c: [3], d: [6]}]
これを関数型っぽく書きたいのですが、可能でしょうか?Underscore.jsは使用可能です。
回答よろしくお願いします。
「命令的な」の意味が分かりません。
プログラムは結局「こうしなさい」という命令を実行させるものですよ
> 命令形的な書き方
これは質問の書き方が良くないですが、命令型プログラミングないし、手続き型プログラミングを指していると思われます。
https://ja.wikipedia.org/wiki/%E5%91%BD%E4%BB%A4%E5%9E%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0
https://ja.wikipedia.org/wiki/%E6%89%8B%E7%B6%9A%E3%81%8D%E5%9E%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0
回答2件
あなたの回答
tips
プレビュー