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