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

配列JavaScriptで最大の反復アイテムを取得する


いくつかの値を含む数値/文字列リテラルの配列があります(いくつかは繰り返しです)。私たちの仕事は、配列内で最も多く出現する配列から要素を返す関数を作成することです。

たとえば、-入力配列が-

の場合
const input = ['a', 'v', 'k', 'f', 'a', 'f', 's', 'd', 'd', 'f', 'a', 'j',
'a'];

その場合、出力は-

になります。
'a'

'a'が最大回数繰り返されるため

したがって、このためのコードを書いてみましょう。 Map()を使用して、counter間のすべての要素とその数を追跡し、最後に次のように最大数の要素を返します-

const input = ['m', 'a', 'v', 'k', 'f', 'a', 'f', 's', 'd', 'd', 'f', 'a',
'j', 'a'];
const findMaximum = arr => {
   const map = arr.reduce((acc, val) => {
      let count = acc.get(val);
      if(count){
         acc.set(val, ++count);
      } else {
         acc.set(val, 1);
      };
      return acc;
   }, new Map());
   return Array.from(map).reduce((acc, val) => {
      if(val[1] > acc[1]){
         return val;
      };
      return acc;
   }, [0, 0])[0];
};
console.log(findMaximum(input));

出力

コンソールの出力は-

になります
a

  1. JavaScriptで配列からシーケンスを形成する

    このように並べ替えられた番号の配列があり、連続した番号を持つことができるとします。 const arr = [1, 2, 3, 5, 7, 8, 9, 11]; そのような配列を1つ取るJavaScript関数を作成する必要があります。 関数は、この配列のシーケンスを形成する必要があります。シーケンスは、配列のすべての連続する要素について、開始番号と終了番号を書き、その間の番号をダッシュ​​(-)に置き換え、他のすべての番号を変更しないようにする必要があります。 したがって、上記の配列の場合、出力は次のようになります- const output = '1-3,5,7-9,11&#

  2. JavaScript配列でMongoDBデータベースを取得しますか?

    JavaScript配列でMongoDBデータベースを取得するには、runCommand()を使用できます。以下は、JavaScript配列でMongoDBデータベースを取得するためのクエリです > use admin; switched to db admin > allDatabasesDetails = db.runCommand({listDatabases: 1}); これにより、次の出力が生成されます {    "databases" : [       {