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

JavaScriptを使用して、オブジェクトプロパティの値が配列で発生する回数を見つけますか?


これには、reduce()の概念を使用します。以下はコードです-

const subjectDetails =
[
   {
      subjectId: '101',
      subjectName: 'JavaScript'
   },
   {
      subjectId: '102',
      subjectName: 'Java'
   },
   {
      subjectId: '103',
      subjectName: 'JavaScript'
   }
];
console.log([...subjectDetails.reduce((obj1, obj2) => {
   if (obj1.has(obj2.subjectName)){
      obj1.get(obj2.subjectName).frequency++;
   } else {
      obj1.set(obj2.subjectName, { subjectName: obj2.subjectName,
      frequency: 1 });
   }
   return obj1;
}, new Map()).values()]);

上記のプログラムを実行するには、次のコマンドを使用する必要があります-

node fileName.js.

ここで、私のファイル名はdemo144.jsです。

出力

これにより、次の出力が生成されます-

PS C:\Users\Amit\JavaScript-code> node demo144.js
[
   { subjectName: 'JavaScript', frequency: 2 },
   { subjectName: 'Java', frequency: 1 }
]

  1. 配列内で最も頻繁な数と、JavaScriptで繰り返される回数を見つけます

    リテラルの配列を受け取り、配列内で最も頻繁な数値とそれが繰り返される回数を見つけるJavaScript関数を作成する必要があります。 例 このためのコードは-になります const arr = ['13', '4', '1', '1', '4', '2', '3', '4', '4', '1', '2', '4', '9', '3']; const findFrequen

  2. C#を使用した再帰によって、ソートされた配列内で配列が回転した回数を見つける方法は?

    中間要素(最小要素)のインデックスを検索する次の条件に基づいて、サブアレイにバイナリ検索を適用します- 番号が開始要素とmid1位置の要素の間にある場合。 次に、バイナリ検索を使用して、配列内の番号を1の半ばまで検索します それ以外の場合、数値が中央要素と最後の要素の間にある場合は、バイナリ検索を使用して配列の中央から最後の要素で数値を検索します。 例 using System; using System.Collections.Generic; using System.Text; using System.Linq; namespace ConsoleApplicat