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

JavaScript में नेस्टेड कलेक्शन फ़िल्टर


मान लीजिए, हमारे पास नेस्टेड ऑब्जेक्ट्स का ऐसा ऐरे है:

const arr = [{    id: 1,    legs:[{       carrierName:'Pegasus'    }] }, {    id: 2,    legs:[{       carrierName: 'SunExpress'    },    {       carrierName: 'SunExpress'    }] }, {    id: 3,    legs:[{       carrierName: 'Pegasus'    },    {       carrierName: 'SunExpress'    }] }];

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

हमारा फ़ंक्शन ऐरे को फ़िल्टर करना चाहिए ताकि केवल वही ऑब्जेक्ट्स रहें जिनकी "carrier name" प्रॉपर्टी का मान दूसरे आर्गुमेंट द्वारा निर्दिष्ट मान के समान हो।

यदि उपरोक्त ऐरे के लिए दूसरा आर्गुमेंट "Pegasus" है। तो आउटपुट इस तरह दिखना चाहिए:

const output = [{    id: 1,    legs:[{       carrierName:'Pegasus'    }] }, {    id: 3,    legs:[{       carrierName: 'Pegasus'    },    {       carrierName: 'SunExpress'    }] }];

उदाहरण

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

const arr = [{    id: 1,    legs:[{       carrierName:'Pegasus'    }] }, {    id: 2,    legs:[{       carrierName: 'SunExpress'    },    {       carrierName: 'SunExpress'    }] }, {    id: 3,    legs:[{       carrierName: 'Pegasus'    },    {       carrierName: 'SunExpress'    }] }]; const keys = ['Pegasus']; const filterByKeys = (arr = [], keys = []) => {    const res = arr.filter(function(item) {       const thisObj = this;       return item.legs.some(leg => {          return thisObj[leg.carrierName];       });    }, keys.reduce((acc, val) => {       acc[val] = true;       return acc;    }, Object.create(null)));    return res; } console.log(JSON.stringify(filterByKeys(arr, keys), undefined, 4));

आउटपुट

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

[    {       "id": 1,       "legs": [          {             "carrierName": "Pegasus"          }       ]    },    {       "id": 3,       "legs": [          {             "carrierName": "Pegasus"          },          {             "carrierName": "SunExpress"          }       ]    } ]

  1. जावास्क्रिप्ट में नेस्टेड डीस्ट्रक्चरिंग जावास्क्रिप्ट में नेस्टेड डीस्ट्रक्चरिंग

    जावास्क्रिप्ट में नेस्टेड डीस्ट्रक्चरिंग के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style>    bo

  1. उदाहरण के साथ जावास्क्रिप्ट में इनहेरिटेंस उदाहरण के साथ जावास्क्रिप्ट में इनहेरिटेंस

    जावास्क्रिप्ट एक ऑब्जेक्ट-आधारित भाषा है जो प्रोटोटाइप पर आधारित है। इनहेरिटेंस को जावास्क्रिप्ट में प्रोटोटाइप ऑब्जेक्ट का उपयोग करके लागू किया जाता है। जावास्क्रिप्ट में इनहेरिटेंस लागू करने के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=

  1. JavaScript से सर्च मेनू बनाकर लिंक्स को फ़िल्टर कैसे करें? JavaScript से सर्च मेनू बनाकर लिंक्स को फ़िल्टर कैसे करें?

    JavaScript के साथ लिंक्स को फ़िल्टर करने के लिए सर्च मेनू बनाने का कोड निम्नलिखित है:उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> &