Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

जावास्क्रिप्ट में संख्याओं के वजन के अनुसार क्रमबद्ध करना


एक संख्या का वजन उस संख्या के अंकों का योग होता है। उदाहरण के लिए -

100 का वजन 1 है 
22 का वजन 4 है 
99 का वजन 18 है 
123 का वजन 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 
]
  1. - जावास्क्रिप्ट DFS का उपयोग करके टोपोलॉजिकल सॉर्टिंग

    डायरेक्टेड ग्राफ का टोपोलॉजिकल सॉर्ट या टोपोलॉजिकल ऑर्डरिंग उसके वर्टेक्स का एक लीनियर ऑर्डरिंग है जैसे कि वर्टेक्स u से वर्टेक्स v तक के हर डायरेक्टेड एज UV के लिए, u ऑर्डरिंग में v से पहले आता है। यह केवल डायरेक्टेड ग्राफ में समझ में आता है। कई स्थान हैं जहां टोपोलॉजिकल सॉर्ट बहुत मायने रखता है।

  1. - JavaScript में Math.min() फंक्शन

    Math ऑब्जेक्ट का min() फंक्शन कई नंबर्स स्वीकार करता है और उनमें से सबसे छोटा नंबर लौटाता है। यदि आप इस फंक्शन को सिंगल नंबर पास करते हैं तो यह वही लौटाएगा और, यदि आप इसे कोई आर्गुमेंट पास नहीं करते हैं तो यह Infinity लौटाएगा। सिंटैक्स इसका सिंटैक्स निम्नानुसार है: Math.min(...values) उदाहरण &l

  1. JavaScript नंबर्स उदाहरण JavaScript नंबर्स उदाहरण

    JavaScript में नंबर्स के लिए एक उदाहरण निम्न है -उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> &