ধরা যাক, আমাদের কাছে নিচের মতো একটি নাম্বার অ্যারে রয়েছে:
const arr = [1,2,3,4,1,7,8,9,1];
ধরা যাক, আমরা অ্যারেতে সবচেয়ে ছোট উপাদানের ইন্ডেক্স খুঁজতে চাই, অর্থাৎ উপরে ১।
এজন্য আমরা সহজে ব্যবহার করতে পারি:
const min = Math.min.apply(Math, arr);
const ind = arr.indexOf(min);
উপরের কোডটি সফলভাবে ind-কে ০ সেট করবে, যা নিঃসন্দেহে সঠিক।
কিন্তু আমরা যা চাই, সেটি হল যদি অ্যারেতে একাধিক ন্যূনতম উপাদান থাকে, যেমন উপরের অ্যারেতে (তিনটি ১), তবে আমাদের সকল ন্যূনতম উপাদানের ইন্ডেক্স ধারণকারী একটি অ্যারে রিটার্ন করতে হবে।
তাহলে, এই অ্যারেটির জন্য আমাদের কাঙ্ক্ষিত আউটপুট হবে: তিনটি ১ ইন্ডেক্স ০, ৪, এবং ৮-এ পাওয়া গেছে।
const ind = [0, 4, 8]
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি নাম্বার অ্যারে নেয় এবং অ্যারেতে থাকা সকল ন্যূনতম উপাদানের ইন্ডেক্স ধারণকারী একটি অ্যারে রিটার্ন করবে।
উদাহরণ
নিচের কোডটি দেখুন:
const arr = [1,2,3,4,1,7,8,9,1];
const minArray = arr => {
const min = arr.reduce((acc, val) => Math.min(acc, val), Infinity);
const res = [];
for(let i = 0; i < arr.length; i++){
if(arr[i] !== min){
continue;
};
res.push(i);
};
return res;
};
console.log(minArray(arr));
আউটপুট
এটি কনসোলে নিচের আউটপুট তৈরি করবে:
[ 0, 4, 8 ]