Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Phân phối tần suất ký tự trong chuỗi - JavaScript

Viết hàm thống kê tần suất xuất hiện của từng ký tự trong chuỗi, trả về object.

Ví dụ

Chuỗi: 'This string will be used to calculate frequency distribution'

Giải pháp

Mã triển khai:

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

const frequencyDistribution = str => {
  const map = {};
  for (let i = 0; i < str.length; i++) {
    map[str[i]] = (map[str[i]] || 0) + 1;
  }
  return map;
};

console.log(frequencyDistribution(str));

Kết quả

Đầu ra trong console:

{
  T: 1, h: 1, i: 6, s: 4, ' ': 8, t: 5, r: 3, n: 3, g: 1,
  w: 1, l: 4, b: 2, e: 5, u: 4, d: 2, o: 2, c: 3, a: 2,
  f: 1, q: 1, y: 1
}

Cách ngắn gọn: [...str].reduce((a,c)=>(a[c]=++a[c]||1,a),{})