Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

หาตัวเลขที่พบมากที่สุดในอาร์เรย์และจำนวนครั้งที่ซ้ำใน JavaScript


เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของค่าคงที่และหาตัวเลขที่พบบ่อยที่สุดในอาร์เรย์รวมถึงจำนวนครั้งที่มันซ้ำ

ตัวอย่างโค้ด

โค้ดสำหรับการทำงานนี้จะเป็นดังนี้

const arr = ['13', '4', '1', '1', '4', '2', '3', '4', '4', '1', '2', '4', '9', '3']; 
const findFrequency = (arr = []) => { 
  const count = {}; 
  const max = arr.reduce((acc, val, ind) => { 
    count[val] = (count[val] || 0) + 1; 
    if (!ind || count[val] > count[acc[0]]) { 
      return [val]; 
    }; 
    if (val !== acc[0] && count[val] === count[acc[0]]) { 
      acc.push(val); 
    }; 
    return acc; 
  }, undefined); 
  return { 
    max, count 
  }; 
} 
console.log(findFrequency(arr));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้

{ 
  max: [ '4' ], 
  count: { '1': 3, '2': 2, '3': 2, '4': 5, '9': 1, '13': 1 } 
}