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