ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงตัวอักษรภาษาอังกฤษพิมพ์เล็ก ฟังก์ชันควรสร้างสตริงใหม่ที่ตัวอักษรแต่ละตัวถูกทำซ้ำตามจำนวนดัชนี 1-based ของมันในสตริง ในรูปพิมพ์ใหญ่ และชุดตัวอักษรต่างกันคั่นด้วยขีด '-'
ดังนั้น 'abcd' จะกลายเป็น:
"A-Bb-Ccc-Dddd"
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const str = 'abcd';
const repeatStrings = (str) => {
const res = [];
for (let i = 0; i < str.length; i++) {
const el = str[i];
let temp = el.repeat(i + 1);
temp = temp[0].toUpperCase() + temp.substring(1, temp.length);
res.push(temp);
}
return res.join('-');
};
console.log(repeatStrings(str));
ผลลัพธ์
A-Bb-Ccc-Dddd
คำอธิบายเพิ่มเติม
ตัวที่ i (0-based) ทำซ้ำ i+1 ครั้ง ตัวแรกพิมพ์ใหญ่ ที่เหลือพิมพ์เล็ก join ด้วย '-' สามารถเขียนสั้นได้ด้วย `str.split('').map((c,i) => c.toUpperCase() + c.repeat(i)).join('-')`