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

जावास्क्रिप्ट में सेट में संख्याओं की सरणी को सॉर्ट करने के लिए एल्गोरिदम

<घंटा/>

मान लीजिए, हमारे पास वस्तुओं की एक सरणी है जिसमें कुछ इस तरह हैं -

const arr = [
   {'item1': 144},
   {'item2': 0},
   {'item3': 366},
   {'item4': 15},
   {'item6': 366},
   {'item7': 19},
   {'item8': 211},
   {'item9': 121}
];

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता होती है जो एक ऐसी सरणी लेता है और वस्तुओं को चार समूहों में समूहित करता है -

'XL', 'L', 'M', 'S'

इन समूहों में संख्याओं को उनके सापेक्ष परिमाण के आधार पर वितरित किया जाना चाहिए।

उदाहरण

इसके लिए कोड होगा -

const arr = [
   {'item1': 144},
   {'item2': 0},
   {'item3': 366},
   {'item4': 15},
   {'item6': 366},
   {'item7': 19},
   {'item8': 211},
   {'item9': 121}
];
const compareWithRange = (rangeArr, num) => {
   for(let i = 0; i < rangeArr.length; i++){
      if(num <= rangeArr[i] && num > rangeArr[i + 1]){
         return i;
      };
   };
   return rangeArr.length - 1;
}
const groupBySize = (arr = []) => {
   const mapping = arr => arr.map(el => el[Object.keys(el)[0]]);
   const max = Math.max(...mapping(arr));
   const range = {
      'XL': max,
      'L': (max * 3) / 4,
      'M': (max / 2),
      'S': (max / 4)
   };
   const legend = ['XL', 'L', 'M', 'S'];
   const res = {};
   arr.forEach(el => {
      const num = el[Object.keys(el)[0]];
      const index = compareWithRange(Object.keys(range).map(key => range[key]), num);
      const size = legend[index];
      if(res.hasOwnProperty(size)){
         res[size].push(Object.keys(el));
      }
      else{
         res[size] = [Object.keys(el)];
      }
   });
   return res;
};
console.log(groupBySize(arr));

आउटपुट

और कंसोल में आउटपुट होगा -

{
   M: [ [ 'item1' ], [ 'item9' ] ],
   S: [ [ 'item2' ], [ 'item4' ], [ 'item7' ] ],
   XL: [ [ 'item3' ], [ 'item6' ] ],
   L: [ [ 'item8' ] ]
}

  1. जावास्क्रिप्ट का उपयोग करके संख्याओं की सरणी में स्वरों की जाँच करना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं की एक सरणी लेता है। यदि उस सरणी में कोई संख्या मौजूद है जो कि ascii में किसी भी स्वर का चार कोड है, तो हमें उस संख्या को संबंधित स्वर में बदलना चाहिए और नया सरणी वापस करना चाहिए। उदाहरण निम्नलिखित कोड है - const arr = [5, 23, 67, 101

  1. जावास्क्रिप्ट में संख्याओं की एक सरणी के लिए विचरण की गणना करना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो बढ़ते क्रम में क्रमबद्ध संख्याओं की एक सरणी लेता है। हमारे फ़ंक्शन को संख्याओं की सरणी के लिए विचरण की गणना करनी चाहिए। संख्याओं के एक समूह के प्रसरण की गणना उनके माध्य के आधार पर की जाती है। $मीन (एम) =( \sum_{i=0}^{n-1} arr[i])$ / n और विचरण (V)

  1. जावास्क्रिप्ट का उपयोग करके किसी सरणी के लिए अंतरों को क्रमबद्ध करना और उनका योग खोजना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पूर्णांकों की एक सरणी लेता है। हमारे फ़ंक्शन को अवरोही क्रम में सरणी में लगातार जोड़े के बीच अंतर को जोड़ना चाहिए। उदाहरण के लिए - यदि सरणी है - [6, 2, 15] तब आउटपुट होना चाहिए - (15 - 6) + (6 - 2) = 13 उदाहरण निम्नलिखित कोड है - const arr = [6, 2