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

配列内で最も高いオカレンス、またはJavaScriptで最初に選択されたオカレンス


リテラル値の配列を受け取るJavaScript関数を作成する必要があります。次に、関数は配列値の最も高いオカレンスを返す必要があり、同じオカレンスがある場合は、同じオカレンスの最初に選択された値を返す必要があります。

const arr = ['25', '50', 'a', 'a', 'b', 'c']

この場合、「a」を返す必要があります

const arr = ['75', '100', 'a', 'b', 'b', 'a']

この場合、「a」も取得する必要があります

このためのコードは-

になります
const arr = ['25', '50', 'a', 'a', 'b', 'c'];
const arr1 = ['75', '100', 'a', 'b', 'b', 'a'];
const getMostFrequentValue = (arr = []) => {
   let count = 0, ind = -1;
   arr.forEach((el, i) => {
      this[el] = this[el] || { count: 0, ind: i };
      this[el].count++;
      if (this[el].count > count) {
         count = this[el].count;
         ind = this[el].ind;
         return;
      };
      if (this[el].count === count && this[el].ind < ind) {
         ind = this[el].ind;
      };
   }, Object.create(null));
   return arr[ind];
};
console.log(getMostFrequentValue(arr));
console.log(getMostFrequentValue(arr1));

出力

そして、コンソールの出力は-

になります
a
a

  1. JavaScriptのarray.flatMap()

    JavaScriptのarray.flatMap()関数は、指定されたネストされた配列を新しいフラット配列にフラット化します。 以下は、array.flatMap()メソッドのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"

  2. JavaScriptの配列slice()

    JavaScript配列slice()メソッドは、選択したアイテムの新しい配列をより大きな配列で返します。元のアレイは変更されません。 以下は、配列slice()メソッドのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /&