JavaScriptオブジェクトの配列を配列のオブジェクトに変換する
たとえば、オブジェクトの配列に配置されたチームに関する次のデータがあります。このデータを、キーを役割として、値をプレーヤー名の配列として持つオブジェクトに変換することがタスクです。
サンプル配列-
const team = [{ role: 'Batsman', player: 'V Kohli' }, { role: 'Wicket Keeper', player: 'KL Rahul' }, { role: 'Batsman', player: 'R Sharma' }, { role: 'Wicket Keeper', player: 'R Pant' }, { role: 'Bowler', player: 'B Kumar' }, { role: 'Bowler', player: 'M Shami' }, ]
配列を引数として取り、対応するオブジェクトを返す関数objectify()を定義しましょう。
このためのコードは-
になりますconst objectify = (team) => { const teamObject = {}; team.forEach(member => { if(teamObject[member.role]){ teamObject[member.role].push(member.player); }else{ teamObject[member.role] = [member.player]; } }); return teamObject; } console.log(objectify(team));
ここでは、各配列アイテムを1つずつループします。それがteamObjectに存在する場合は、プレーヤーをその値にプッシュします。それ以外の場合は、単一のプレーヤーで配列を割り当てます。
これが完全なコードです-
例
const team = [{ role: 'Batsman', player: 'V Kohli' }, { role: 'Wicket Keeper', player: 'KL Rahul' }, { role: 'Batsman', player: 'R Sharma' }, { role: 'Wicket Keeper', player: 'R Pant' }, { role: 'Bowler', player: 'B Kumar' }, { role: 'Bowler', player: 'M Shami' }, ] const objectify = (team) => { const teamObject = {}; team.forEach(member => { if(teamObject[member.role]){ teamObject[member.role].push(member.player); }else{ teamObject[member.role] = [member.player]; } }); return teamObject; } console.log(objectify(team));
出力
コンソールでのこのコードの出力は-
になります{ Batsman: [ 'V Kohli', 'R Sharma' ], WicketKeeper: [ 'KL Rahul', 'R Pant' ], Bowler: [ 'B Kumar', 'M Shami' ] }
-
JavaScriptを使用してオブジェクトを単一のオブジェクト配列にマージする方法は?
以下は、オブジェクトを単一のオブジェクト配列にマージするコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>  
-
Javaで配列を新しいオブジェクト配列にマージします
以下は、Javaで配列を新しいオブジェクト配列にマージするJavaプログラムです- 例 import java.util.stream.Stream; import java.util.Arrays; import java.io.*; public class Demo{ public static <T> Object[] concat_fun(T[] my_obj_1, T[] my_obj_2){ return Stream.concat(Arrays.stream(my_obj_1), Arrays.st