मान लीजिए, हमारे पास संख्याओं की एक सरणी है जिसमें 0 और 1 शामिल हैं -
const arr = [0, 1, 0, 1];
हमें बाइनरी () के लिए एक ऐरे फ़ंक्शन लिखने की आवश्यकता होती है जो इसके साथ उपयोग की जाने वाली सरणी के लिए संबंधित बाइनरी देता है।
उदाहरण के लिए - यदि सरणी है -
const arr = [1, 0, 1, 1];
तब आउटपुट 11 होना चाहिए क्योंकि बाइनरी 1011 का दशमलव निरूपण 11 है।
इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखें।
विधि 1:पुस्तकालय विधियों का उपयोग करना
जावास्क्रिप्ट में, एक विधि parseInt () मौजूद है, जो दो तर्कों में लेता है पहला एक स्ट्रिंग है और दूसरा एक संख्या है जो एक विशेष आधार का प्रतिनिधित्व करता है, जैसे दशमलव आधार के लिए 10, बाइनरी के लिए 2। यह फ़ंक्शन स्ट्रिंग तर्क को पार्स करता है और एक पूर्णांक देता है निर्दिष्ट मूलांक (आधार) का।
हमारे मामले में, बाइनरी की सरणी को दशमलव में बदलने के लिए, हम इस तरह से parseInt () फ़ंक्शन का उपयोग कर सकते हैं -
const arr = [1, 0, 1, 1]; const parseArray = arr => { const binaryString = arr.join(""); return parseInt(binaryString, 2); }; console.log(parseArray(arr));
विधि 2:सरणी को कम करना
इस पद्धति में हम द्विआधारी सरणी पर पुनरावृति करते हैं और संबंधित बाइनरी संख्याओं के आधार पर एक दशमलव का निर्माण करते हैं। हम लेफ्ट शिफ्ट ऑपरेटर (<<) का उपयोग हर बार संचित वैल्यू को बायीं ओर एक बिट से शिफ्ट करने के लिए करेंगे और शिफ्ट किए गए संचित वैल्यू और करंट वैल्यू के बिटवाइज या (|) को वापस करेंगे।
इसके लिए बिटवाइज़ ऑपरेटर का उपयोग कर कोड -
उदाहरण
const arr = [1, 0, 1, 1]; const parseArray = arr => { return arr.reduce((acc, val) => { return (acc << 1) | val; }); }; console.log(parseArray(arr));
आउटपुट
कंसोल में आउटपुट होगा -
11