আমাদের এমন একটি ফাংশন লিখতে হবে যা সর্বনিম্ন সূচক প্রদান করে যেখানে একটি মান (দ্বিতীয় আর্গুমেন্ট) একটি অ্যারেতে (প্রথম আর্গুমেন্ট) ঢোকানো উচিত একবার এটি সাজানোর পরে (হয় আরোহী বা ক্রমবর্ধমান ক্রমে)। প্রত্যাবর্তিত মান একটি সংখ্যা হওয়া উচিত।
উদাহরণস্বরূপ, ধরা যাক, আমাদের একটি ফাংশন getIndexToInsert() −
আছেgetIndexToInsert([1,2,3,4], 1.5, ‘asc’) should return 1 because it is greater than 1 (index 0), but less than 2 (index 1).
একইভাবে,
getIndexToInsert([20,3,5], 19, ‘asc’) should return 2 because once the array has been sorted in ascending order it will look like [3,5,20] and 19 is less than 20 (index 2) and greater than 5 (index 1).
অতএব, আসুন এই ফাংশনের জন্য কোড লিখি -
উদাহরণ
const arr = [20, 3, 5]; const getIndexToInsert = (arr, element, order = 'asc') => { const creds = arr.reduce((acc, val) => { let { greater, smaller } = acc; if(val < element){ smaller++; }else{ greater++; }; return { greater, smaller }; }, { greater: 0, smaller: 0 }); return order === 'asc' ? creds.smaller : creds.greater; }; console.log(getIndexToInsert(arr, 19, 'des')); console.log(getIndexToInsert(arr, 19,));
আউটপুট
কনসোলে আউটপুট হবে −
1 2