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

JavaScriptでは、動的配列の合計を実行する必要があります


たとえば、さまざまなスポーツの一部の選手のスコアを含む配列があるとします。スコアは次のように表されます-

const scores = [
   {sport: 'cricket', aman: 54, vishal: 65, jay: 43, hardik: 88, karan:23},
   {sport: 'soccer', aman: 14, vishal: 75, jay: 41, hardik: 13, karan:73},
   {sport: 'hockey', aman: 43, vishal: 35, jay: 53, hardik: 43, karan:29},
   {sport: 'volleyball', aman: 76, vishal: 22, jay: 36, hardik: 24, karan:47},
   {sport: 'baseball', aman: 87, vishal: 57, jay: 48, hardik: 69, karan:37},
];

この配列を受け取り、sportキーの値が「all」である単一のオブジェクトを返す関数を作成する必要があります。他のプレーヤーキーは、配列の異なるオブジェクトに存在する値の合計を持つ必要があります。したがって、この関数のコードを書いてみましょう-

ここでは、Array.prototype.reduce()メソッドを使用して、すべてのプレーヤーのさまざまなスポーツのスコアの合計を減らします。これを行うためのコードは-

になります

const scores = [
   {sport: 'cricket', aman: 54, vishal: 65, jay: 43, hardik: 88, karan:23},
   {sport: 'soccer', aman: 14, vishal: 75, jay: 41, hardik: 13, karan:73},
   {sport: 'hockey', aman: 43, vishal: 35, jay: 53, hardik: 43, karan:29},
   {sport: 'volleyball', aman: 76, vishal: 22, jay: 36, hardik: 24, karan:47},
   {sport: 'baseball', aman: 87, vishal: 57, jay: 48, hardik: 69, karan:37},
];
const sumScores = (arr) => {
   return arr.reduce((acc, val) => {
      Object.keys(val).forEach(key => {
         if(key!== 'sport'){
            acc[key] += val[key];
         };
      });
      if(acc['sport'] !== 'all'){
         acc['sport'] = 'all';
      };
      return acc;
   });
};
console.log(sumScores(scores));

出力

コンソールの出力は-

になります
{
   sport: 'all',
   aman: 274,
   vishal: 254,
   jay: 221,
   hardik: 237,
   karan: 209
}

  1. JavaScriptを使用した配列内のネストされたオブジェクト値の合計

    以下は、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> <st

  2. JavaScriptのネストされた配列の重みの合計

    問題 ネストされた配列arr(任意のレベルまでネストされている)を唯一の引数として受け取るJavaScript関数を作成する必要があります。 関数は、ネストされた配列の加重和を計算し、その和を返す必要があります。 ネストされた合計を計算するために、特定の要素にそのネストのレベルを乗算し、配列全体に追加します。 たとえば、関数への入力が-の場合 const arr = [4, 7, [6, 1, [5, 2]]]; その場合、出力は-になります。 const output = 46; 出力の説明: 合計は次のように計算されます- (4 * 1) + ( 7 * 1) + (6 * 2