เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงและเริ่มจับคู่อักขระจาก 0
และทุกครั้ง ฟังก์ชันพบอักขระพิเศษ (ไม่ซ้ำกัน) ซึ่งควรเพิ่มจำนวนการแมปขึ้น 1 มิฉะนั้น ก็ควรจับคู่ตัวเลขเดียวกันสำหรับอักขระที่ซ้ำกัน
ตัวอย่างเช่น หากสตริงคือ −
const str = 'heeeyyyy';
จากนั้นผลลัพธ์ควรเป็น −
const output = [0, 1, 1, 1, 2, 2, 2, 2];
ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const str = 'heeeyyyy';
const mapString = str => {
const res = [];
let curr = '', count = -1;
for(let i = 0; i < str.length; i++){
if(str[i] === curr){
res.push(count);
}else{
count++;
res.push(count);
curr = str[i];
};
};
return res;
};
console.log(mapString(str)); ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
[ 0, 1, 1, 1, 2, 2, 2, 2 ]