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

นับจำนวนตัวเลขในสตริงและเก็บตามลำดับ - JavaScript

สมมติว่าเรามีสตริงที่มีตัวเลขดังนี้:

const str = '11222233344444445666';

เราต้องเขียนฟังก์ชันที่รับสตริงนี้และคืนค่าอ็อบเจกต์ที่แทนจำนวนของแต่ละตัวเลขในสตริง

ดังนั้น สำหรับสตริงนี้ ผลลัพธ์ควรเป็น:

const output = {
  "1": 2,
  "2": 4,
  "3": 3,
  "4": 7,
  "5": 1,
  "6": 3
};

ตัวอย่าง

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

const str = '11222233344444445666';

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

console.log(mapString(str));

ผลลัพธ์

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

{ '1': 2, '2': 4, '3': 3, '4': 7, '5': 1, '6': 3 }