ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลข arr และตัวเลข n
ฟังก์ชันของเราควรดึง n ที่เล็กที่สุดจากอาร์เรย์ arr โดยไม่รบกวนลำดับสัมพัทธ์ หมายความว่าไม่ควรจัดลำดับเพิ่มหรือลด แต่ควรคงลำดับเดิมไว้
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [6, 3, 4, 1, 2]; const num = 3; const smallestInOrder = (arr = [], num) => { if(arr.length < num){ return arr; }; const copy = arr.slice(); copy.sort((a, b) => a - b); const required = copy.splice(0, num); required.sort((a, b) => { return arr.indexOf(a) - arr.indexOf(b); }); return required; }; console.log(smallestInOrder(arr, num));
ผลลัพธ์
ต่อไปนี้เป็นเอาต์พุตคอนโซล -
[3, 1, 2]