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

ตัวอักษรที่ปรากฏอันดับสองจากความถี่ในสตริง - JavaScript

เราต้องเขียนฟังก์ชันที่รับสตริงและคืนค่าตัวอักษรที่ปรากฏอันดับสองจากความถี่

ตัวอย่างสตริง:

const str = 'This string will be used to calculate frequency';

ตัวอักษรอันดับสองคือ "e"

ตัวอย่าง

โค้ดต่อไปนี้เป็นตัวอย่าง:

const str = 'This string will be used to calculate frequency';

const secondMostFrequent = str => {
  const strArr = str.split('');
  const map = strArr.reduce((acc, val) => {
    if(acc.has(val)){
      acc.set(val, acc.get(val) + 1);
    }else{
      acc.set(val, 1);
    };
    return acc;
  }, new Map);
  const frequencyArray = Array.from(map);
  return frequencyArray.sort((a, b) => {
    return b[1] - a[1];
  })[1][0];
};

console.log(secondMostFrequent(str));

ผลลัพธ์

จะแสดงผลในคอนโซลดังนี้:

e