Computer >> Máy Tính >  >> Lập trình >> Javascript

Lưu trữ số lượng số nguyên theo thứ tự bằng JavaScript

Giả sử, chúng ta có một chuỗi dài đại diện cho một số như thế này -

const str = '11222233344444445666';

Chúng tôi được yêu cầu viết một hàm JavaScript có trong một chuỗi như vậy. Hàm của chúng ta phải trả về một đối tượng sẽ gán thuộc tính "id" duy nhất cho mỗi số duy nhất trong chuỗi và một thuộc tính khác "count" lưu trữ số lần số xuất hiện trong chuỗi.

Do đó, đối với chuỗi trên, đầu ra sẽ giống như -

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ụ

Mã cho điều này sẽ là -

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));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

{
   '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 }
}