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

जावास्क्रिप्ट में डीबी प्रारूप से जेएसओएन प्रारूप में पेड़ को रूपांतरित करें

<घंटा/>

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

const arr = [
   {"id":7,"name":"Kuwait","parentId":2},
   {"id":4,"name":"Iraq","parentId":2},
    {"id":10,"name":"Qatar","parentId":2},
   {"id":2,"name":"Middle East","parentId":1},
   {"id":3,"name":"Bahrain","parentId":2},
   {"id":6,"name":"Jordan","parentId":2},
   {"id":8,"name":"Lebanon","parentId":2},
   {"id":1,"name":"Africa/Middle East","parentId":null},       {"id":5,"name":"Israel","parentId":2},
    {"id":9,"name":"Oman","parentId":2}
];

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो ऐसी एक सरणी लेता है। फ़ंक्शन को तब एक नई सरणी तैयार करनी चाहिए जिसमें उनके माता-पिता के अनुसार समूहीकृत ऑब्जेक्ट शामिल हों।

इसलिए, आउटपुट इस तरह दिखना चाहिए -

const output = [
   {"id":55,"text":"Africa/Middle East","children":[
   {"id":2,"text":"Middle East","children":
   [{"id":7,"name":"Kuwait","children":[]},
   {"id":4,"name":"Iraq","children":[]},
   {"id":10,"name":"Qatar","children":[]},
   {"id":3,"name":"Bahrain","children":[]},
   {"id":6,"name":"Jordan","children":[]},
   {"id":8,"name":"Lebanon","children":[]},
   {"id":5,"name":"Israel","children":[]},
   {"id":9,"name":"Oman","children":[]}]}
];

उदाहरण

const arr = [
   {"id":7,"name":"Kuwait","parentId":2},
    {"id":4,"name":"Iraq","parentId":2},
    {"id":10,"name":"Qatar","parentId":2},
   {"id":2,"name":"Middle East","parentId":1},
    {"id":3,"name":"Bahrain","parentId":2},
    {"id":6,"name":"Jordan","parentId":2},
   {"id":8,"name":"Lebanon","parentId":2},
    {"id":1,"name":"Africa/Middle East","parentId":null},    {"id":5,"name":"Israel","parentId":2},
    {"id":9,"name":"Oman","parentId":2} ];
const transformTree = (data, root = null) => {
   const res = [];
   const map = {};
   data.forEach((el) => {
      el.children = map[el.id] && map[el.id].children || [];
      map[el.id] = el; if (el.parentId === root) {
          res.push(el);
      }
      else {
         map[el.parentId] = map[el.parentId] || {};
         map[el.parentId].children = map[el.parentId].children || [];                map[el.parentId].children.push(el);
      };
   });
   return res;
};
console.log(JSON.stringify(transformTree(arr), undefined, 4));

आउटपुट

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

[
   { "id": 1,
      "name": "Africa/Middle East",
      "parentId": null,
      "children": [
      {
         "id": 2,
         "name": "Middle East",
         "parentId": 1,
         "children": [
            {
               "id": 7,
               "name": "Kuwait",
               "parentId": 2,
               "children": []
            },
            {
               "id": 4,
               "name": "Iraq",
               "parentId": 2,
            "children": []
         },
         {
            "id": 10,
            "name": "Qatar",
            "parentId": 2,
            "children": []
      }, {
            "id": 3,
            "name": "Bahrain",
            "parentId": 2,
            "children": []
            },
            {
               "id": 6,
               "name": "Jordan",
               "parentId": 2,
               "children": []
            }, {
                  "id": 8,
                  "name": "Lebanon",
                  "parentId": 2,
                  "children": []
            }, {
                  "id": 5,
                  "name": "Israel",
                  "parentId": 2,
                  "children": []
               }, {
                     "id": 9,
                     "name": "Oman",
                     "parentId": 2,
                     "children": []
               }
            ]
         }
      ]
   }
]

  1. जावास्क्रिप्ट JSON HTML

    JSON डेटा का उपयोग करके HTML उत्पन्न करने के लिए, कोड इस प्रकार है - नोट - JSONPlaceholder परीक्षण और प्रोटोटाइप के लिए एक नकली ऑनलाइन REST API है उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, सेन्स-सेरिफ़; } .नमूना { फ़ॉन्ट-आकार:18पीएक्स; फ़ॉन्ट-वजन:500; लाल रंग; }JSON

  1. जावास्क्रिप्ट JSON सरणियाँ

    JSON में Arrays जावास्क्रिप्ट में Arrays के समान हैं। जावास्क्रिप्ट JSON सरणियाँ इस तरह दिखती हैं - let obj = {    name:'Rohan',    sports : ['cricket','Football','volleyball','hockey'] } जावास्क्रिप्ट में JSON सरणियों के लिए कोड निम्नलिखि

  1. कैसे जावास्क्रिप्ट का उपयोग कर JSON सरणी से डेटा पढ़ने के लिए?

    जावास्क्रिप्ट का उपयोग करके JSON सरणी से डेटा पढ़ने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <ti