কম্পিউটার

জাভাস্ক্রিপ্টে দুটি মানদণ্ড অনুসারে অ্যারে সাজানো


তারিখ অনুসারে সাজানোর জন্য নিম্নলিখিত অ্যারে হতে দিন এবং গুরুত্বপূর্ণ। গুরুত্বপূর্ণ প্রপার্টি সহ সমস্ত অবজেক্টের ট্রু র‍্যাঙ্ক যেকোনও অবজেক্টের চেয়ে বেশি ইমপোর্ট্যান্ট মিথ্যা এবং উভয় গ্রুপই তারিখের প্রপার্টি অনুসারে সাজানো হয়েছে।

নিম্নলিখিত আমাদের অ্যারে -

const array = [{
   id: 545,
   date: 591020824000,
   isImportant: false,
},
{
   id: 322,
   date: 591080224000,
   isImportant: false,
},
{
   id: 543,
   bdate: 591080424000,
   isImportant: true,
},
{
   id: 423,
   date: 591080225525,
   isImportant: false,
},
{
   id: 135,
   date: 591020225525,
   isImportant: true,
},
];

এর পরে, আমরা উপরের অ্যারে-

-এ পছন্দসই ফলাফল পেতে এইভাবে অ্যারে সাজানোর পদ্ধতি ব্যবহার করতে পারি।
array.sort((a, b) => {
   if(a.isImportant && !b.isImportant){
      return -1;
   }else if(!a.isImportant && b.isImportant){
      return 1;
   }else{
      return b.date-a.date;
   }
});

sort() কলব্যাক ফাংশন সাধারণত দুটি আর্গুমেন্ট পায়, a এবং b বলে, যেটি অ্যারের দুটি উপাদান ছাড়া কিছুই নয় যার উপর sort() কল করা হয়েছিল এবং কলব্যাক ফাংশন অ্যারের প্রতিটি সম্ভাব্য জোড়া উপাদানের জন্য চলে৷

কলব্যাক থেকে -1 (যেকোন নেতিবাচক মান) ফিরে আসার অর্থ হল আমরা প্রথম উপাদানটিকে সেকেন্ডের চেয়ে বেশি র‍্যাঙ্ক করি।

কলব্যাক থেকে 1 (যেকোন ইতিবাচক মান) ফেরত দেওয়ার অর্থ হল আমরা দ্বিতীয় উপাদানটিকে প্রথম থেকে উচ্চতর স্থান দিই৷

0 রিটার্ন করা কোন পরিবর্তন করে না। আমরা পরীক্ষা করি যে a বা b-এর মধ্যে কোনো একটি গুরুত্বপূর্ণ সম্পত্তি আছে কিনা তা মিথ্যা সেট করা আছে, যদি হ্যাঁ হয় তবে আমরা সেটিকে নীচে রাখি। অন্যথায়, আমরা তাদের তারিখের সম্পত্তি অনুসারে তাদের র‌্যাঙ্ক করি।

উদাহরণ

আসুন এখন সম্পূর্ণ উদাহরণ দেখি -

const array = [{
   id: 545,
   date: 591020824000,
   isImportant: false,
},
{
   id: 322,
   date: 591080224000,
   isImportant: false,
},
{
   id: 543,
   bdate: 591080424000,
   isImportant: true,
},
{
   id: 423,
   date: 591080225525,
   isImportant: false,
},
{
   id: 135,
   date: 591020225525,
   isImportant: true,
},
];
array.sort((a, b) => {
   if(a.isImportant && !b.isImportant){
      return -1;
   }else if(!a.isImportant && b.isImportant){
      return 1;
   }else{
      return b.date-a.date;
   }
});
console.log(array);

আউটপুট

কনসোলে কোডের আউটপুট হবে −

[
   { id: 3, date: 591080424000, isImportant: true },{ id: 5, date: 591020225525, isImportant: true },
   { id: 4, date: 591080225525, isImportant: false },{ id: 2, date: 591080224000, isImportant: false },
   { id: 1, date: 591020824000, isImportant: false }
]

  1. কিভাবে জাভাস্ক্রিপ্টে দুটি অ্যারে মার্জ করবেন?

  2. জাভাস্ক্রিপ্ট দুটি অ্যারে যোগদান

  3. কিভাবে জাভাস্ক্রিপ্ট দুটি অ্যারে যোগদান করতে?

  4. জাভাস্ক্রিপ্টে দুটি অ্যারেকে কীভাবে গুণ করা যায়?