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

JavaScript सरणी रैंकिंग


मान लीजिए हमारे पास संख्याओं की तीन JavaScript सरणियाँ हैं:

const array1 = [10,23,53,74,33,56,6,0,43,45,11];
const array2 = [52,46,27,28,4,11,53,6,75,75,22];
const array3 = [26,18,10,12,31,12,5,8,44,34,65];

सभी सरणियों की लंबाई हमेशा समान होगी।

हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसी किसी भी संख्या में सरणियों में संबंधित तत्वों को उनकी रैंक (यानी घटते क्रम में उनके क्रम) के अनुसार मैप करता है।

उपरोक्त सरणियों के लिए आउटपुट इस तरह दिखना चाहिए:

const array1= [3,2,1,1,1,1,2,3,2,2,3];
const array2= [1,1,2,2,2,2,1,2,1,1,2];
const array3= [2,3,3,3,3,3,3,1,2,3,1];

उदाहरण

निम्नलिखित कोड देखें:

const array1 = [10,23,53,74,33,56,6,0,43,45,11];
const array2 = [52,46,27,28,4,11,53,6,75,75,22];
const array3 = [26,18,10,12,31,12,5,8,44,34,65];
const transpose = (rank, arr) => {
  return arr.map((el, ind) => {
    return [...(rank[ind] || []), el];
  });
};
const ranks = arr => {
  return arr.map(
    Map.prototype.get,
    [...arr]
    .sort((a, b) => b - a)
    .reduce((r => (m, v) => m.set(v, (r++, m.get(v)) || r))(0), new Map)
  );
};
const findRanks = (...arrs) => {
  return arrs
    .reduce(transpose, [])
    .map(ranks)
    .reduce(transpose, []);
};
console.log(findRanks(array1, array2, array3));

आउटपुट

यह कंसोल पर निम्नलिखित आउटपुट देगा:

[
  [ 3, 2, 1, 1, 1, 1, 2, 3, 3, 2, 3 ],
  [ 1, 1, 2, 2, 3, 3, 1, 2, 1, 1, 2 ],
  [ 2, 3, 3, 3, 2, 2, 3, 1, 2, 3, 1 ]
]

  1. JavaScript Array.shift(): पहला तत्व हटाएं JavaScript Array.shift(): पहला तत्व हटाएं

    Array.prototype.shift() मेथड एरे से पहला तत्व हटाता है, उस तत्व को लौटाता है, और शेष सभी तत्वों के इंडेक्स को 1 से घटा देता है। यह एरे की लंबाई बदल देता है। उदाहरण { const removed = arr.shift(); fillEle.innerHTML = `हटाया गया: ${removed}<br>शेष: ` + arr.join(, ); });

  1. JavaScript Array.reverse(): एरे को उल्टा करें JavaScript Array.reverse(): एरे को उल्टा करें

    Array.prototype.reverse() मेथड एरे के तत्वों के क्रम को स्थानांतरित (in-place) उलट देता है। पहला तत्व अंतिम बन जाता है और अंतिम पहला। यह मूल एरे को बदल देता है और उसी एरे का संदर्भ लौटाता है। उदाहरण { arr.reverse(); fillEle.innerHTML = उल्टा: + arr.join(, ); }); </scrip

  1. जावास्क्रिप्ट में ऐरे डीस्ट्रक्चरिंग जावास्क्रिप्ट में ऐरे डीस्ट्रक्चरिंग

    परिचय डीस्ट्रक्चरिंग असाइनमेंट (ES2015) ऐरे से मानों को अलग-अलग वेरिएबल्स में अनपैक करने का एक संक्षिप्त सिंटैक्स है। यह पठनीयता में सुधार करता है और मैन्युअल इंडेक्स एक्सेस की आवश्यकता को कम करता है। उदाहरण निम्न कोड जावास्क्रिप्ट में ऐरे डीस्ट्रक्चरिंग के लिए है: <!DOCTYPE html> <html