डिजिट रूट
किसी धनात्मक पूर्णांक के अंकों के मूल को उसके सभी अंकों के योग के रूप में परिभाषित किया जाता है।
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पूर्णांकों की एक सरणी लेता है। फ़ंक्शन को इसे इस तरह से सॉर्ट करना चाहिए कि यदि a b से पहले आता है तो a का अंक मूल b के अंक मूल से कम या उसके बराबर होता है। यदि दो संख्याओं का अंक मूल समान है, तो छोटी संख्या (नियमित अर्थ में) पहले आना चाहिए।
उदाहरण के लिए, 4 और 13 के अंकों का मूल समान है, हालाँकि 4 <13 इस प्रकार 4 किसी भी डिजिट रूट छँटाई में 13 से पहले आता है जहाँ दोनों मौजूद हैं।
उदाहरण के लिए -
यदि इनपुट ऐरे है -
const arr = [13, 20, 7, 4];
तब आउटपुट होना चाहिए -
const output = [20, 4, 13, 7];
उदाहरण
const arr = [13, 20, 7, 4]; const digitSum = (num, sum = 0) => { if(num){ return digitSum(Math.floor(num / 10), sum + (num % 10)); }; return sum; }; const digitalSort = (arr = []) => { const sorter = (a, b) => { return (digitSum(a) - digitSum(b)) || (a - b); }; arr.sort(sorter); }; digitalSort(arr); console.log(arr);
आउटपुट
यह निम्नलिखित आउटपुट देगा -
[ 20, 4, 13, 7 ]