অ্যারে সাজানোর জন্য জাভাস্ক্রিপ্টে বেশ শক্তিশালী ইনবিল্ট ফাংশন রয়েছে। ডিফল্টরূপে, সাজানোর পদ্ধতি উপাদানগুলিকে বর্ণানুক্রমে সাজায়। উদাহরণস্বরূপ,
উদাহরণ
let arr1 =["জেব্রা", "ভাল্লুক", "টাইগার"];arr1.sort();console.log(arr1);
আউটপুট
এটি আউটপুট দেবে −
[ 'ভাল্লুক', 'টাইগার', 'জেব্রা' ]
এখন একটি int উদাহরণ,
তাকানউদাহরণ
আলো arr1 =[1, 8, 31, 21];arr1.sort();console.log(arr1);
আউটপুট
এটি আউটপুট দেবে −
<প্রে>[ 1, 21, 31, 8 ]আমরা যা আশা করি তা নয়। এটি আউটপুট হচ্ছে কারণ ডিফল্টরূপে সাজানোর পদ্ধতি বর্ণানুক্রমিকভাবে উপাদানগুলিকে সাজায়। আমাদের ইচ্ছা অনুযায়ী সাজানোর জন্য, আমাদের এটিকে একটি তুলনামূলক ফাংশন প্রদান করতে হবে যা এটি 2টি আর্গুমেন্ট প্রয়োগ করবে কোনটি বড় এবং কোনটি ছোট তা নির্ধারণ করতে এবং সেই অনুযায়ী সাজান। সুতরাং একটি পূর্ণসংখ্যা অ্যারে সাজানোর জন্য, আপনাকে −
কল করা উচিতউদাহরণ
let arr1 =[1, 8, 31, 21];arr1.sort((a, b) => a - b);console.log(arr1);
আউটপুট
এটি আউটপুট দেবে &,মাইনাস;
<প্রে>[ 1, 8, 21, 31]অবজেক্ট অ্যারে সাজানোর মতো জটিল ক্ষেত্রে সাজানোর জন্য কোন কী ব্যবহার করা উচিত তা প্রদান করতেও এটি ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ,
উদাহরণ
মানুষ =[{ নাম:"জো", বয়স:35}, { নাম:"রিচার্ড", বয়স:21}, { নাম:"অ্যাগনেস", বয়স:25}];people.sort((a) , b) => { let nameA =a.name.toUpperCase(); // বড় এবং ছোট হাতের অক্ষর উপেক্ষা করুন let nameB =b.name.toUpperCase(); // উপেক্ষা করুন বড় এবং ছোট হাতের অক্ষর যদি (nameAnameB) { রিটার্ন 1; } // নামগুলি অবশ্যই সমান রিটার্ন 0;}) console.log(people)
আউটপুট
এটি আউটপুট দেবে −
[ { নাম:'অ্যাগনেস', বয়স:25 }, { নাম:'রিচার্ড', বয়স:21 }, { নাম:'জো', বয়স:35 } ]
আরও অনেক জটিল বস্তুও এভাবে সাজানো যায়। আপনি কিভাবে আপনার তুলনা ফাংশন গঠন করেন তার সবই।
আপনি দেখেছেন যে এই ফাংশন জায়গায় অ্যারে সাজান. এটিতে একই ক্রম বজায় রেখে একটি নতুন সাজানো অ্যারে ফেরত দেওয়ার জন্য, আপনি প্রথমে একটি অনুলিপি তৈরি করতে এবং তারপর সাজানোর প্রয়োগ করতে নিম্নলিখিতগুলি ব্যবহার করতে পারেন৷
আউটপুট
arr.slice(0).sort();