ได้สตริง S ประกอบด้วยตัวอักษร ตัวเลข และอักขระพิเศษ ต้องเขียนโปรแกรมแยกเป็น 3 สตริง S1, S2, S3 โดย:
- S1 มีตัวอักษรทั้งหมดใน S
- S2 มีตัวเลขทั้งหมดใน S
- S3 มีอักขระพิเศษทั้งหมดใน S
ลำดับตัวอักษรใน S1, S2, S3 ต้องเหมือนกับในอินพุต
ตัวอย่าง
โค้ดต่อไปนี้เป็นตัวอย่าง:
const str = "Th!s String C0nt@1ns d1fferent ch@ract5rs";
const seperateCharacters = str => {
const strArr = str.split("");
return strArr.reduce((acc, val) => {
let { numbers, alpha, special } = acc;
if(+val){
numbers += val;
}else if(val.toUpperCase() !== val.toLowerCase()){
alpha += val;
}else{
special += val;
};
return { numbers, alpha, special };
}, {
numbers: '',
alpha: '',
special: ''
});
};
console.log(seperateCharacters(str));ผลลัพธ์
จะแสดงผลในคอนโซลดังนี้:
{
numbers: '115',
alpha: 'ThsStringCntnsdfferentchractrs',
special: '! 0@ @'
}