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

लगातार तत्वों को समूहबद्ध करने के लिए सरणी को संपीड़ित करें जावास्क्रिप्ट

<घंटा/>

हमें एक स्ट्रिंग दी गई है जिसमें डैश (-) द्वारा अलग किए गए कुछ दोहराए जाने वाले शब्द इस तरह हैं -

const str ='सोमवार-रविवार-मंगलवार-मंगलवार-रविवार-रविवार-सोमवार-सोमवार';

अब हमारा काम एक ऐसा फ़ंक्शन लिखना है जो ऑब्जेक्ट्स की एक सरणी देता है, जहां प्रत्येक ऑब्जेक्ट में दो गुण मान और गिनती होती है, मान स्ट्रिंग में शब्द है (सोमवार, मंगलवार, रविवार) और गिनती उनकी लगातार उपस्थिति गणना है।

उपरोक्त स्ट्रिंग की तरह, यह सरणी कुछ इस तरह दिखाई देगी -

const arr =[{ val:'Monday', count:1}, {val:'sunday', count:1}, {val:'मंगलवार', गिनती:2}, { वैल:'रविवार', गिनती:2}, { वैल:'सोमवार', गिनती:3}]

क्योंकि सोमवार एक बार, रविवार को एक बार, मंगलवार को दो बार, रविवार को दो बार और अंतिम सोमवार को तीन बार दिखाई देता है।

हम सरणी को विभाजित करेंगे और फिर Array.prototype.reduce() विधि का उपयोग इस तरह से वांछित सरणी को पुनरावर्ती रूप से वापस करने के लिए करेंगे -

ये रहा पूरा कोड -

उदाहरण

const str ='सोमवार-रविवार-मंगलवार-मंगलवार-रविवार-रविवार-सोमवार-सोमवार';const str2 ='शुक्रवार-शुक्रवार-रविवार-मंगलवार-रविवार-रविवार-सोमवार-गुरुवार';const compressString =(str ) => {वापसी str.split('-').reduce((acc, val) => { const {लंबाई:l} =acc; if(acc[l-1]?.val ===val){ एसीसी [एल -1]। गिनती ++; वापसी एसीसी; } और {वापसी acc.concat ({ वैल, गिनती:1}); }}, []);} कंसोल.लॉग (कंप्रेसस्ट्रिंग (str)); कंसोल.लॉग (compressString(str2));

आउटपुट

उपरोक्त कोड के लिए कंसोल में आउटपुट होगा -

[ { वैल:'सोमवार', गिनती:1}, {वैल:'रविवार', गिनती:1}, {वैल:'मंगलवार', गिनती:2}, {वैल:'रविवार', गिनती:2 }, { वैल:'सोमवार', गिनती:3}] [{वैल:'फ्राइडे', गिनती:2}, {वैल:'रविवार', गिनती:1}, {वैल:'मंगलवार', गिनती:1} , { वैल:'रविवार', गिनती:2}, {वैल:'सोमवार', गिनती:1}, {वैल:'गुरुवार', गिनती:1}, {वैल:'सोमवार', गिनती:1}] 
  1. जावास्क्रिप्ट सरणी वस्तुओं की गणना कैसे करें?

    JavaScript सरणी वस्तुओं की गणना करने के लिए, हम Object.prototype.__proto__ गुण का उपयोग कर रहे हैं। उदाहरण आप सरणी वस्तुओं को गिनने के लिए निम्न कोड चलाने का प्रयास कर सकते हैं - <html>    <head>       <title>JavaScript Clone Date</title>   &nbs

  1. जावास्क्रिप्ट में आईडी द्वारा वस्तुओं की सरणी कैसे समूहित करें?

    जावास्क्रिप्ट में आईडी के आधार पर वस्तुओं के समूह के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <titl

  1. जावास्क्रिप्ट का उपयोग करके किसी सरणी के तत्वों की गहरी गणना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो तत्वों की एक नेस्टेड सरणी लेता है और सरणी में मौजूद तत्वों की गहरी गणना लौटाता है। इनपुट const arr = [1, 2, [3, 4, [5]]]; आउटपुट const output = 7; क्योंकि स्तर 1 के तत्व 2 हैं, स्तर 2 के तत्व 2 हैं और स्तर 3 के तत्व 1 हैं, इसलिए डीप काउंट 7 है।