ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข num เป็นอาร์กิวเมนต์เดียว
ฟังก์ชันควรหาและคืนค่าตัวเลขที่ประกอบด้วยหลักเดียวกันทั้งหมดและทุกรอบของตัวเลขอินพุต และมีค่ามากกว่าตัวเลขอินพุตเพียงเล็กน้อย (just bigger)
หากไม่มีตัวเลขดังกล่าว ฟังก์ชันควรคืนค่า -1
ตัวอย่างเช่น หากอินพุตคือ
const num = 5656;
ผลลัพธ์ควรเป็น
const output = 5665;
คำอธิบายผลลัพธ์
เพราะ 5665 ประกอบด้วยหลักเดียวกันทั้งหมดและทุกรอบของ 5656 และมากกว่า 5656 เพียงเล็กน้อย
ตัวอย่างโค้ด
const num = 5656;
const justBigger = (num) => {
const sorted = num => ('' + num).split('').sort((a, b) => b - a);
const max = +sorted(num).join('');
for (let i = num + 1; i <= max; i++) {
if (max === +sorted(i).join('')) {
return i;
}
}
return -1;
};
console.log(justBigger(num));
ผลลัพธ์
5665