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

การหาตัวเลขที่มากกว่าเล็กน้อยที่ประกอบด้วยหลักเดียวกันใน JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน 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