किसी संख्या का भार उस संख्या के अंकों का योग होता है। उदाहरण के लिए -
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 का वजन समान है, इसलिए वास्तविक बढ़ते क्रम को बनाए रखने के लिए 23 को 50 से पहले रखा जाना चाहिए (केवल समान भार के मामले में)
उदाहरण
इसके लिए कोड होगा -
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 ]