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

JavaScript में ऑब्जेक्ट की सरणी से शीर्ष n अधिकतम मान


मान लीजिए हमारे पास ऑब्जेक्ट की एक सरणी है:

const arr = [
  {"id":0,"start":0,"duration":117,"slide":4,"view":0},
  {"id":0,"start":0,"duration":12,"slide":1,"view":0},
  {"id":0,"start":0,"duration":41,"slide":2,"view":0},
  {"id":0,"start":0,"duration":29,"slide":3,"view":0},
  {"id":0,"start":0,"duration":123,"slide":3,"view":0},
  {"id":0,"start":0,"duration":417,"slide":2,"view":0},
  {"id":0,"start":0,"duration":12,"slide":1,"view":0},
  {"id":0,"start":0,"duration":67,"slide":2,"view":0}
];

हमें एक फ़ंक्शन लिखना है जो इस सरणी को लेता है और सरणी के शीर्ष n तत्व को दूसरी सरणी में लौटाता है (शीर्ष का अर्थ है वह ऑब्जेक्ट जिसमें duration का उच्चतम मान हो)।

आइए इस समस्या के लिए कोड लिखते हैं:

उदाहरण

const arr = [
  {"id":0,"start":0,"duration":117,"slide":4,"view":0},
  {"id":0,"start":0,"duration":12,"slide":1,"view":0},
  {"id":0,"start":0,"duration":41,"slide":2,"view":0},
  {"id":0,"start":0,"duration":29,"slide":3,"view":0},
  {"id":0,"start":0,"duration":123,"slide":3,"view":0},
  {"id":0,"start":0,"duration":417,"slide":2,"view":0},
  {"id":0,"start":0,"duration":12,"slide":1,"view":0},
  {"id":0,"start":0,"duration":67,"slide":2,"view":0}
];

const topN = (arr, n) => {
  if (n > arr.length) {
    return false;
  }
  return arr
    .slice()
    .sort((a, b) => {
      return b.duration - a.duration;
    })
    .slice(0, n);
};

console.log(topN(arr, 3));
console.log(topN(arr, 4));
console.log(topN(arr, 5));

आउटपुट

कंसोल में आउटपुट होगा:

[
  { id: 0, start: 0, duration: 417, slide: 2, view: 0 },
  { id: 0, start: 0, duration: 123, slide: 3, view: 0 },
  { id: 0, start: 0, duration: 117, slide: 4, view: 0 }
]
[
  { id: 0, start: 0, duration: 417, slide: 2, view: 0 },
  { id: 0, start: 0, duration: 123, slide: 3, view: 0 },
  { id: 0, start: 0, duration: 117, slide: 4, view: 0 },
  { id: 0, start: 0, duration: 67, slide: 2, view: 0 }
]
[
  { id: 0, start: 0, duration: 417, slide: 2, view: 0 },
  { id: 0, start: 0, duration: 123, slide: 3, view: 0 },
  { id: 0, start: 0, duration: 117, slide: 4, view: 0 },
  { id: 0, start: 0, duration: 67, slide: 2, view: 0 },
  { id: 0, start: 0, duration: 41, slide: 2, view: 0 }
]

  1. - JavaScript में ऐरे का अधिकतम मान कैसे खोजें?

    ऐरे में अधिकतम मान खोजने के तरीके 1. Math.max() के साथ स्प्रेड ऑपरेटर (आधुनिक, अनुशंसित) <script> var numbers = [6, 39, 55, 1, 44]; var max = Math.max(...numbers); document.write(अधिकतम: + max); // 55 </script> 2. Math.max.apply() (पुराना तरीका) <html> <body> <s

  1. जावास्क्रिप्ट Array.from() मेथड जावास्क्रिप्ट Array.from() मेथड

    जावास्क्रिप्ट का from() मेथड किसी ऑब्जेक्ट से जिसमें length प्रॉपर्टी हो या किसी इटरेबल ऑब्जेक्ट से Array ऑब्जेक्ट लौटाने के लिए उपयोग किया जाता है। सिंटैक्स इस प्रकार है: Array.from(obj, mapFunction, thisArg) ऊपर, पैरामीटर obj एरे में बदलने वाला ऑब्जेक्ट है, mapFunction कॉल करने के लिए मैप फंक्शन

  1. JavaScript Array.from(): एरे-लाइक से एरे बनाएं JavaScript Array.from(): एरे-लाइक से एरे बनाएं

    Array.from() एक स्थिर मेथड है जो एरे-लाइक या इटरेटर ऑब्जेक्ट्स से एक नया, शैलो-कॉपीड एरे इंस्टेंस बनाता है। यह arguments, NodeList, Set, Map, स्ट्रिंग्स, आदि को एरे में बदलने का मानक तरीका है। उदाहरण { const arr = Array.from(str); fillEle.innerHTML = एरे: + arr.join(, ); })