ฟังก์ชันนี้จัดเรียงตัวเลขแต่ละหลักภายในสมาชิกของอาร์เรย์ ให้เรียงจากน้อยไปมาก
ตัวอย่าง
// Input: [543, 65, 343, 75, 567, 878, 87] // Output: [345, 56, 334, 57, 567, 788, 78]
ตัวอย่างโค้ด
const arr = [543, 65, 343, 75, 567, 878, 87];
const ascendNumber = num => {
return String(num)
.split('')
.map(el => +el)
.sort((a, b) => a - b)
.join('');
};
const sortDigits = arr => arr.map(ascendNumber);
console.log(sortDigits(arr));
การทำงาน
- แปลงตัวเลขเป็นสตริง
split('')แยกตัวเลขแต่ละหลักmap(el => +el)แปลงเป็นตัวเลขsort()เรียงน้อยไปมากjoin('')รวมกลับเป็นสตริง
ผลลัพธ์
[ '345', '56', '334', '57', '567', '788', '78' ]
หมายเหตุ: ผลลัพธ์เป็นสตริง หากต้องการตัวเลข ให้ wrap ด้วย Number() หรือ +