Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> 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 तत्व को किसी अन्य सरणी में देता है (शीर्ष का अर्थ वह वस्तु है जिसकी अवधि के लिए उच्चतम मान है)।

इसलिए, आइए इस समस्या के लिए कोड लिखें -

उदाहरण

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. जावास्क्रिप्ट में किसी सरणी का अधिकतम मान कैसे प्राप्त करें?

    हम Math.max () और सॉर्ट () फ़ंक्शन का उपयोग करके किसी सरणी का अधिकतम मान प्राप्त कर सकते हैं। 1) Math.max() Math.max() फ़ंक्शन आमतौर पर सभी तत्वों को एक सरणी में लेता है और अधिकतम मान प्राप्त करने के लिए प्रत्येक मान की जांच करता है। इसकी कार्यप्रणाली नीचे दिए गए उदाहरण में चर्चा की गई है। उदाहरण

  1. जावास्क्रिप्ट ऐरे से () विधि

    जावास्क्रिप्ट की से () विधि का उपयोग किसी ऑब्जेक्ट से किसी ऑब्जेक्ट से एक लंबी संपत्ति या एक चलने योग्य वस्तु के साथ ऐरे ऑब्जेक्ट को वापस करने के लिए किया जाता है। वाक्य रचना इस प्रकार है - Array.from(obj, mapFunction, val) ऊपर, पैरामीटर obj एक सरणी में कनवर्ट करने के लिए ऑब्जेक्ट है, mapFunction

  1. जावास्क्रिप्ट Array.from () विधि

    Array.from() किसी दिए गए सरणी उदाहरण से एक नया सरणी ऑब्जेक्ट बनाता है। सरणी से () फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-widt