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

जावास्क्रिप्ट एक अन्य सरणी के साथ एक सहयोगी सरणी को फ़िल्टर करता है

<घंटा/>

मान लीजिए, हमारे पास इस तरह की वस्तुओं की दो सरणियाँ हैं -

const data = [
   {"XD_A":"XDL","XD_B_1":"38","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"51","XD_B_2":"PB"},
   {"XD_A":"XDL","XD_B_1":"58","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"38","XD_B_2":"PB"},
   {"XD_A":"XDL","XD_B_1":"76","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"38","XD_B_2":"PB"}
];
const filters =[{"XD_A":"XDR"},{"XD_B_1":"38"}];

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो दो ऐसे सरणियों को क्रमशः पहले और दूसरे तर्क के रूप में लेता है।

फिर फ़ंक्शन को केवल पहली सरणी (डेटा सरणी) से उन वस्तुओं को चुनना चाहिए जिनमें वे सभी कुंजी-मूल्य जोड़े शामिल हैं जो दूसरी सरणी (फ़िल्टर सरणी) में मौजूद हैं।

और फ़ंक्शन को उन सभी वस्तुओं को एक नई वस्तु में धकेलना चाहिए और उस वस्तु को वापस करना चाहिए।

उपरोक्त सरणी के लिए, लौटाए गए सरणी में ठीक इस तरह की दो वस्तुएं होनी चाहिए -

const output = [
   {"XD_A":"XDR","XD_B_1":"38","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"38","XD_B_2":"PB"}
];

उदाहरण

इसके लिए कोड होगा -

const data = [
   {"XD_A":"XDL","XD_B_1":"38","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"51","XD_B_2":"PB"},
   {"XD_A":"XDL","XD_B_1":"58","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"38","XD_B_2":"PB"},
   {"XD_A":"XDL","XD_B_1":"76","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"38","XD_B_2":"PB"}
];
const filters =[{"XD_A":"XDR"},{"XD_B_1":"38"}];
const filter = (data, filters) => {
   return data.filter(e => {
      try{
         filters.forEach(o => {
            Object.keys(o).forEach(key => {
               if(e[key] !== o[key]) throw new 1;
            });
         });
         return true;
      }
      catch(e){
         return false;
      }
   });
}
console.info(filter(data, filters));

आउटपुट

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

[
   { XD_A: 'XDR', XD_B_1: '38', XD_B_2: 'PB' },
   { XD_A: 'XDR', XD_B_1: '38', XD_B_2: 'PB' }
]

  1. जावास्क्रिप्ट - एक सरणी के साथ फ़िल्टरिंग सरणी

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो शाब्दिक के दो सरणी लेता है। हमारे फ़ंक्शन को पहले सरणी का फ़िल्टर किया गया संस्करण लौटाना चाहिए जिसमें वे सभी तत्व शामिल हैं जो उसी सरणी में मौजूद हैं लेकिन दूसरी सरणी में नहीं हैं। हम Array.prototype.filter() फ़ंक्शन का उपयोग करेंगे और Array.prototy

  1. किसी अन्य सरणी के साथ वस्तुओं की जावास्क्रिप्ट सरणी को फ़िल्टर करें

    मान लीजिए, हमारे पास इस तरह की वस्तुओं की एक सरणी है - const arr =[ {क्षेत्र:NY, नाम:Bla, विज्ञापन:सच}, {क्षेत्र:DF, नाम:SFS, विज्ञापन:झूठा}, {क्षेत्र:TT, नाम:एसडीएसडी, विज्ञापन:सच}, {क्षेत्र:एसडी, नाम:इंजन, विज्ञापन:झूठा}, {क्षेत्र:एनएसके, नाम:टोयोटा, ​​विज्ञापन:झूठा},]; हमें एक जावास्क्रिप्ट फ़ंक

  1. जावास्क्रिप्ट के साथ नेस्टेड संग्रह फ़िल्टर

    मान लीजिए, हमारे पास इस तरह की नेस्टेड वस्तुओं की एक सरणी है - const arr = [{    id: 1,    legs:[{       carrierName:'Pegasus'    }] }, {    id: 2,    legs:[{       carrierName: 'SunExpress'