ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน 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]