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

JavaScript में DB फॉर्मेट से JSON फॉर्मेट में ट्री को ट्रांसफॉर्म करना


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

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} ];

हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसा ऐरे लेता है। फ़ंक्शन को फिर एक नया ऐरे तैयार करना चाहिए जिसमें ऑब्जेक्ट्स उनके पैरेंट्स के अनुसार ग्रुप किए गए हों।

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

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. JavaScript JSON HTML JavaScript JSON HTML

    JSON डेटा का उपयोग करके HTML जनरेट करने के लिए, निम्न कोड का उपयोग करें: नोट - JSONPlaceholder टेस्टिंग और प्रोटोटाइपिंग के लिए एक फेक ऑनलाइन REST API है। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport&

  1. JavaScript JSON Arrays JavaScript JSON Arrays

    JSON में Arrays, JavaScript में Arrays के समान होते हैं। JavaScript JSON arrays इस तरह दिखते हैं: let obj = {    name:'Rohan',    sports : ['cricket','Football','volleyball','hockey'] } JavaScript में JSON arrays के लिए कोड: उदाहरण <!DOC

  1. जावास्क्रिप्ट का उपयोग करके JSON ऐरे से डेटा कैसे पढ़ें? जावास्क्रिप्ट का उपयोग करके JSON ऐरे से डेटा कैसे पढ़ें?

    जावास्क्रिप्ट का उपयोग करके JSON ऐरे से डेटा पढ़ने का कोड निम्नलिखित है - उदाहरण <!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>