Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การสร้างลำดับที่เพิ่มขึ้น lexicographically ของตัวเลข n ตัวแรกใน JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข n และคืนค่าอาร์เรย์ที่มี n ตัวเลขธรรมชาติก่อน

เงื่อนไขเดียวคือ ตัวเลขควรจัดเรียงตามพจนานุกรม ซึ่งหมายความว่าตัวเลขทั้งหมดที่ขึ้นต้นด้วย 1 ควรมาก่อนเลขใดๆ ที่ขึ้นต้นด้วย 2 หรือ 3 หรือ 4 เป็นต้น

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const num =24;const buildLexicographically =(num =1) => { const res =[]; const curr =num>=9 ? 9 :นัม; สำหรับ (ให้ i =1; i <=curr; i++) { res.push(i); สำหรับ (ให้ j =i * 10; j<=num; j++) { res.push(j) if(j % ​​10 ===9){ แตก; } } }; return res;};console.log(buildLexicographically(num));

ผลลัพธ์

ต่อไปนี้เป็นเอาต์พุตคอนโซล -

<ก่อน>[ 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 24, 3, 4, 5, 6, 7, 8, 9]