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

Đếm số lần xuất hiện của từng chữ số trong chuỗi theo thứ tự trong JavaScript

Giả sử có chuỗi dài đại diện cho số:

const str = '11222233344444445666';

Viết hàm nhận vào chuỗi này, trả về đối tượng gán "id" duy nhất cho mỗi số và thuộc tính "count" (được đặt tên là "displayed") lưu số lần xuất hiện.

Kết quả mong đợi:

const output = { 
  '1': { id: '1', displayed: 2 }, 
  '2': { id: '2', displayed: 4 }, 
  '3': { id: '3', displayed: 3 }, 
  '4': { id: '4', displayed: 7 }, 
  '5': { id: '5', displayed: 1 }, 
  '6': { id: '6', displayed: 3 } 
};

Ví dụ

const str = '11222233344444445666'; 
const countNumberFrequency = str => { 
  const map = {}; 
  for(let i = 0; i < str.length; i++){ 
    const el = str[i]; 
    if(map.hasOwnProperty(el)){ 
      map[el]['displayed']++; 
    } else { 
      map[el] = { 
        id: el, 
        displayed: 1 
      }; 
    }; 
  }; 
  return map; 
}; 
console.log(countNumberFrequency(str));

Kết quả

Kết quả in ra console:

[ 
  '1': { id: '1', displayed: 2 }, 
  '2': { id: '2', displayed: 4 }, 
  '3': { id: '3', displayed: 3 }, 
  '4': { id: '4', displayed: 7 }, 
  '5': { id: '5', displayed: 1 }, 
  '6': { id: '6', displayed: 3 } 
]