ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงประโยคที่อาจมีช่องว่างเป็นอาร์กิวเมนต์แรก และตัวเลขเป็นอาร์กิวเมนต์ที่สอง ฟังก์ชันควรก่อนลบช่องว่างทั้งหมดจากสตริง แล้วแยกสตริงเป็นชิ้นๆ (chunks) จำนวนที่ระบุโดยอาร์กิวเมนต์ที่สอง
ทุกชิ้นควรมีความยาวเท่ากัน ยกเว้นชิ้นสุดท้ายที่อาจมีความยาวต่างออกไป
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const num = 5;
const str = 'This is an example string';
const splitString = (str = '', num = 1) => {
str = str.replace(/\s/g, '');
const arr = [];
for (let i = 0; i < str.length; i += num) {
arr.push(str.slice(i, i + num));
}
return arr;
};
console.log(splitString(str, num));
ผลลัพธ์
[ 'Thisi', 'sanex', 'ample', 'strin', 'g' ]
คำอธิบายเพิ่มเติม
ลบ space: 'Thisisanexamplestring' (21 chars) แยกทีละ 5: Thisi, sanex, ample, strin, g (ชิ้นสุดท้ายเหลือ 1) โค้ดใช้ regex \s ลบ whitespace ทุกชนิด