Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การสร้างวัตถุ JSON ที่ซ้อนกันใน JavaScript


เรามีสตริงชนิดพิเศษที่มีอักขระเป็นคู่เช่นนี้ −

const str = "AABBCCDDEE";

เราจะต้องสร้างวัตถุตามสตริงนี้ซึ่งควรมีลักษณะเช่นนี้ -

const obj = {
   code: "AA",
   sub: {
      code: "BB",
      sub: {
         code: "CC",
         sub: {
            code: "DD",
            sub: {
               code: "EE",
               sub: {}
            }
         }
      }
   }
};

โปรดสังเกตว่าสำหรับคู่ที่ไม่ซ้ำกันแต่ละคู่ในสตริง เรามีออบเจ็กต์ย่อยใหม่และคุณสมบัติโค้ดที่ระดับใดๆ แสดงถึงคู่ที่เจาะจง

เราสามารถแก้ปัญหานี้ได้โดยใช้วิธีการแบบเรียกซ้ำ

เราจะวนซ้ำในสตริงเพื่อเลือกคู่ที่เฉพาะเจาะจงและกำหนดวัตถุย่อยใหม่ให้กับมัน

ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const str = "AABBCCDDEE";
const constructObject = str => {
   const res = {};
   let ref = res;
   while(str){
      const words = str.substring(0, 2);
      str = str.substr(2, str.length);
      ref.code = words;
      ref.sub = {};
      ref = ref.sub;
   };
   return res;
};
console.log(JSON.stringify(constructObject(str), undefined, 4));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

{
   "code": "AA",
   "sub": {
      "code": "BB",
      "sub": {
         "code": "CC",
         "sub": {
            "code": "DD",
            "sub": {
               "code": "EE",
               "sub": {}
            }
         }
      }
   }
}