ধরুন আমাদের কাছে দুটি লিটারেল অ্যারে আছে −
const arr1 = [1, 3, 2, 4, 5, 6]; const arr2 = [1, 2, 5];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা দুটি такой অ্যারে নেবে। তারপর আমাদের ফাংশনটি একটি নতুন অ্যারে রিটার্ন করবে যাতে arr1-র সব এলিমেন্ট থাকবে কিন্তু arr2 অনুযায়ী সর্ট করা।
যে এলিমেন্টগুলো দুটি অ্যারে-তেই আছে সেগুলো arr2-র ক্রম অনুযায়ী প্রথমে আসবে এবং শুধু arr1-এ থাকা এলিমেন্টগুলো তাদের ক্রম বজায় রাখবে।
উদাহরণ
কোডটি নিচে দেওয়া হলো −
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 ]