ধরুন আমাদের কাছে এই ধরনের লিটারেলের দুটি অ্যারে আছে −
const arr1 = [1, 3, 2, 4, 5, 6]; const arr2 = [1, 2, 5];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এই ধরনের দুটি অ্যারে নেয়। তারপরে আমাদের ফাংশনটি একটি নতুন অ্যারে প্রদান করবে যাতে arr1 এর সমস্ত উপাদান রয়েছে তবে arr2 অনুসারে সাজানো হয়েছে।
উভয় অ্যারেতে উপস্থিত উপাদানগুলির মতো দ্বিতীয় অ্যারেতে তাদের ক্রম অনুসারে প্রথমে উপস্থিত হওয়া উচিত এবং তারপরে কেবলমাত্র প্রথম অ্যারেতে উপস্থিত উপাদানগুলি তাদের ক্রম ধরে রাখে৷
উদাহরণ
এর জন্য কোড হবে −
const arr1 = [1, 3, 2, 4, 5, 6]; const arr2 = [1, 2, 5]; const sortByReference = (arr1, arr2) => { const inBoth = el => arr1.indexOf(el) !== -1 && arr2.indexOf(el) !== -1; const sorter = (a, b) => { if(inBoth(a) && inBoth(b)){ return arr1.indexOf(a) - arr2.indexOf(b); } if(inBoth(a)){ return -1; }; if(inBoth(b)){ return 1; }; return 0; }; arr1.sort(sorter); }; sortByReference(arr1, arr2); console.log(arr1);
আউটপুট
কনসোলে আউটপুট -
[ 1, 2, 5, 3, 4, 6 ]