Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでネストされたJSONオブジェクトを構築する


次のように、カップルで文字を含む特別な種類の文字列があります-

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": {}
            }
         }
      }
   }
}

  1. JSONテキストをJavaScriptJSONオブジェクトに変換する方法は?

    JSON parse()メソッドは、JSONテキストをJavaScriptオブジェクトに変換するために使用されます。 以下は、JSONテキストをJavaScriptJSONオブジェクトに変換するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scal

  2. JavaScriptを使用した配列内のネストされたオブジェクト値の合計

    以下は、JavaScriptを使用して配列内のネストされたオブジェクト値を合計するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <st