কম্পিউটার

জাভাস্ক্রিপ্টে সংখ্যার ওজন অনুযায়ী সাজানো


কোন সংখ্যার ওজন হল সেই সংখ্যার সংখ্যার সমষ্টি৷ যেমন −

The weight of 100 is 1
The weight of 22 is 4
The weight of 99 is 18
The weight of 123 is 6

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা সংখ্যার অ্যারে নিয়ে যায়। ফাংশনটি সংখ্যাগুলিকে তাদের ওজনের ক্রমবর্ধমান ক্রম অনুসারে সাজাতে হবে, এবং যদি দুটি সংখ্যার ওজন একই হয় তবে তাদের প্রকৃত ক্রমবর্ধমান ক্রমে স্থাপন করা উচিত।

যেমন-

50 এবং 23 এর ওজন একই, তাই প্রকৃত ক্রমবর্ধমান ক্রম বজায় রাখার জন্য 50 এর আগে 23 স্থাপন করা উচিত (শুধুমাত্র সমান ওজনের ক্ষেত্রে)

উদাহরণ

এর জন্য কোড হবে −

const arr = [2, 1, 100, 56, 78, 3, 66, 99, 200, 46];
const calculateWeight = (num, sum = 0) => {
   if(num){
      return calculateWeight(Math.floor(num / 10), sum + (num % 10));
   };
   return sum;
};
const sorter = (a, b) => {
   return calculateWeight(a) − calculateWeight(b) || a − b;
}
arr.sort(sorter);
console.log(arr);

আউটপুট

এবং কনসোলে আউটপুট হবে −

[
   1, 100, 2, 200, 3,
   46, 56, 66, 78, 99
]

  1. জাভাস্ক্রিপ্টে সংক্ষিপ্ততম পাথ অ্যালগরিদম

  2. জাভাস্ক্রিপ্ট ডিএফএস ব্যবহার করে টপোলজিক্যাল বাছাই

  3. Math.min() ফাংশন জাভাস্ক্রিপ্ট

  4. জাভাস্ক্রিপ্ট নম্বর উদাহরণ