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

जावास्क्रिप्ट में सूचकांकों द्वारा नेस्टेड सरणी से आइटम निकालें

<घंटा/>

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

const arr = [
   { value: 'some value' },
   {
      array: [
         { value: 'some value' },
         {
            array: [
               { value: 'some value' },
               { value: 'some value' },
            ],
         },
         { value: 'some value' },
         {
            array: [
               { value: 'some value' },
               {
                  array: [
                     { value: 'delete me' },
                     { value: 'some value' },
                  ]
               },
            ],
         },
      ],
   }
];

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

हमारे फ़ंक्शन को सरणी (द्वितीय तर्क) द्वारा निर्दिष्ट सभी सूचकांकों पर मूल्य संपत्ति को हटाना चाहिए।

उदाहरण

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

const arr = [
   { value: 'some value' },
   {
      array: [
         { value: 'some value' },
         {
            array: [
               { value: 'some value' },
               { value: 'some value' },
            ],
         },
         { value: 'some value' },
         {
            array: [
               { value: 'some value' },
               {
                  array: [
                     { value: 'delete me' },
                     { value: 'some value' },
                  ]
               },
            ],
         },
      ],
   }
];
const keys = [1, 3, 1, 0];
const getKeys = (arr, keys) => {
   const recursiveFind = (arr, level) => {
      const res = [];
      arr.forEach((el, ind) => {
         if (keys[level] !== ind) {
            return res.push(el);
         };
         if (level + 1 !== keys.length && el.array) {
            res.push({ array: recursiveFind(el.array, level + 1) });
         };
      });
      return res;
   };
   return recursiveFind(arr, 0);
};
console.log(JSON.stringify(getKeys(arr, keys), undefined, 4));

आउटपुट

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

[
   {
      "value": "some value"
   },
   {
      "array": [
         {
            "value": "some value"
         },
         {
            "array": [
               {
                  "value": "some value"
               },
               {
                  "value": "some value"
               }
            ]
         },
         {
            "value": "some value"
         },
         {
            "array": [
               {
                  "value": "some value"
               },
               {
                  "array": [
                     {
                        "value": "some value"
                     }
                  ]
               }
            ]
         }
      ]
   }
]

  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

  1. 2 वस्तुओं की तुलना करते समय समूहबद्ध सरणी नेस्टेड मान - जावास्क्रिप्ट

    मान लीजिए, हमारे पास निम्नलिखित JSON ऑब्जेक्ट है - const input = {    "before": {      "device": [        {          "id": "1234",          "price": "