Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การจัดเรียงตัวเลขในแต่ละสมาชิกของอาร์เรย์ - JavaScript

ฟังก์ชันนี้จัดเรียงตัวเลขแต่ละหลักภายในสมาชิกของอาร์เรย์ ให้เรียงจากน้อยไปมาก

ตัวอย่าง

// 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));

การทำงาน

  1. แปลงตัวเลขเป็นสตริง
  2. split('') แยกตัวเลขแต่ละหลัก
  3. map(el => +el) แปลงเป็นตัวเลข
  4. sort() เรียงน้อยไปมาก
  5. join('') รวมกลับเป็นสตริง

ผลลัพธ์

[ '345', '56', '334', '57', '567', '788', '78' ]

หมายเหตุ: ผลลัพธ์เป็นสตริง หากต้องการตัวเลข ให้ wrap ด้วย Number() หรือ +