ধরুন, আমাদের নিচের অ্যারের অ্যারে আছে −
const arr = [ ["A","F","A","H","F","F"], ["F","A","A","F","F","H"] ];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এইরকম একটি অ্যারে নেয়৷
ফাংশনটি প্রদত্ত অ্যারের সমস্ত সাবয়ারেকে এই নিয়ম অনুসারে অভ্যন্তরীণভাবে সাজাতে হবে −
- যদি উপাদানগুলি "A" বা "F" না হয়, তাহলে তাদের তাদের অবস্থান বজায় রাখা উচিত
- যদি উপাদানটি "A" বা "F" হয়, তাহলে তাদের বর্ণানুক্রমিকভাবে সাজানো উচিত
অতএব, উপরের অ্যারের জন্য চূড়ান্ত আউটপুট −
এর মত হওয়া উচিতconst output = [ ["A","A","A","H","A","F"], ["F","F","F","F","F","H"] ];
মনে রাখবেন যে সাবারে থেকে উপাদানগুলি তাদের অ্যারে পরিবর্তন করতে পারে যদি সাজানোর অ্যালগরিদম তাদের এটি করতে বাধ্য করে।
উদাহরণ
const arr = [ ["A","F","A","H","F","F"], ["F","A","A","F","F","H"] ]; const customSort = (arr = []) => { const order = [].concat(...arr.slice()), res = []; order.forEach((el, ind) => { if (el === 'A') { const fIndex = order.indexOf('F'); if (fIndex < ind){ order[fIndex] = 'A'; order[ind] = 'F'; }; }; }) arr.forEach(el => res.push(order.splice(0, el.length))) return res; } console.log(customSort(arr));
আউটপুট
এবং কনসোলে আউটপুট হবে −
[ [ 'A', 'A', 'A', 'H', 'A', 'F' ], [ 'F', 'F', 'F', 'F', 'F', 'H' ] ]