সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যাগুলোর অ্যারে arr এবং একটি সংখ্যা n নেবে। ফাংশনটি অ্যারেতে থেকে nটি সবচেয়ে ছোট সংখ্যা বের করবে কিন্তু তাদের আপেক্ষিক ক্রম বদলে না। অর্থাৎ সেগুলো ছোট থেকে বড় বা বড় থেকে ছোট সর্ট করা নয়, বরং তাদের মূল ক্রম ধরে রাখবে।
উদাহরণ
নিচে কোডটি দেওয়া হলো:
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]