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

सरणी जावास्क्रिप्ट से शीर्ष दो तत्व लौटाएं

<घंटा/>

हमारे पास जावास्क्रिप्ट में संख्याओं की एक सरणी है जिसमें एक क्रमबद्ध क्रम में संख्याएँ होती हैं। हमारा काम एक ऐसा फ़ंक्शन लिखना है जो संख्याओं की इस सरणी को लेता है और दो तत्वों की एक सरणी देता है, सरणी के शीर्ष दो तत्व (सरणी के सबसे बड़े दो तत्व)।

हमें इसे एक पास में करना है यानी, हमें इस विधि को रैखिक समय में निष्पादित करने की आवश्यकता है जैसे लूप के लिए केवल एक का उपयोग करके या यदि हम ES6 फ़ंक्शन का उपयोग करते हैं, तो हमें केवल एक और एक बार उपयोग करना सुनिश्चित करना होगा और उन तरीकों के नेस्टिंग से बचना होगा जो समय बढ़ाते हैं जटिलता।

तो, अब Array.prototype.reduce() विधि का उपयोग करके कोड लिखते हैं -

उदाहरण

const arr = [23, 65, 67, 23, 2, 6, 87, 23, 45, 65, 3, 234, 3];
const topTwo = arr => {
   if(arr.length < 2){
      return false;
   };
   return arr.reduce((acc, val) => {
      if(val > acc[0]){
         let t = acc[0];
         acc[0] = val;
         acc[1] = t;
      }else if(val > acc[1]){
         acc[1] = val;
      };
      return acc;
   }, [-Infinity, -Infinity]);
};
console.log(topTwo(arr));

आउटपुट

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

[ 234, 87 ]

  1. जावास्क्रिप्ट में एक स्टैक से तत्वों को पॉप करना

    जावास्क्रिप्ट में एक साधारण स्टैक क्लास पर विचार करें। उदाहरण =अधिकतम आकार; } पुश (तत्व) {// जांचें कि क्या स्टैक भरा हुआ है अगर (this.isFull ()) {कंसोल.लॉग (स्टैक ओवरफ्लो!); वापसी; } यह.कंटेनर.पुश(तत्व); }} यहाँ पूर्ण है फ़ंक्शन केवल यह जांचता है कि कंटेनर की लंबाई अधिकतम आकार के बराबर या उससे अधि

  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