Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

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' ]
}

  1. 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>  

  2. 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