কোন সংখ্যার ওজন হল সেই সংখ্যার সংখ্যার সমষ্টি৷ যেমন −
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 ]