按关键字递归数组查找父对象


let json = [
  {
    categoryId: 'D3E0C093A498D944E053DC031EACCAF9',
    categoryCode: 1,
    categoryName: '衣柜',
    parentCategoryId: null,
    levelCode: 1,
    validFlag: 1,
    displayFlag: 1,
    children: [
      {
        categoryId: 'D4E24B6451B7FA4AE053DC031EAC4F35',
        categoryCode: 224,
        categoryName: '测试2',
        parentCategoryId: 'D3E0C093A498D944E053DC031EACCAF9',
        levelCode: 2,
        validFlag: 1,
        displayFlag: 1,
        children: [
          {
            categoryId: 'D4E2204308ADFA8BE053DC031EAC593C',
            categoryCode: 225,
            categoryName: '测试3',
            parentCategoryId: 'D4E24B6451B7FA4AE053DC031EAC4F35',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4E24B6451B8FA4AE053DC031EAC4F35',
                categoryCode: 226,
                categoryName: '测试4.12',
                parentCategoryId: 'D4E2204308ADFA8BE053DC031EAC593C',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '测试4.12'
              },
              {
                categoryId: 'D4E24B6451B9FA4AE053DC031EAC4F35',
                categoryCode: 229,
                categoryName: '测试4',
                parentCategoryId: 'D4E2204308ADFA8BE053DC031EAC593C',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: [
                  {
                    categoryId: 'D4E628AFFDCA5D22E053DC031EACB568',
                    categoryCode: 242,
                    categoryName: '测试5',
                    parentCategoryId: 'D4E24B6451B9FA4AE053DC031EAC4F35',
                    levelCode: 5,
                    validFlag: 1,
                    displayFlag: 1,
                    children: null,
                    label: '测试5'
                  }
                ],
                label: '测试4'
              },
              {
                categoryId: 'D4E220430903FA7BE053DC031EAC59A6',
                categoryCode: 227,
                categoryName: '测试level5',
                parentCategoryId: 'D4E220430904FA7BE053DC031EAC59A6',
                levelCode: 5,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '测试level5'
              }
            ],
            label: '测试3'
          }
        ],
        label: '测试2'
      },
      {
        categoryId: 'D4E220430904FA7BE053DC031EAC59A6',
        categoryCode: 228,
        categoryName: '测试部件',
        parentCategoryId: 'D3E0C093A498D944E053DC031EACCAF9',
        levelCode: 2,
        validFlag: 0,
        displayFlag: 1,
        children: [],
        label: '测试部件'
      },
      {
        categoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
        categoryCode: 4,
        categoryName: '装饰部件',
        parentCategoryId: 'D3E0C093A498D944E053DC031EACCAF9',
        levelCode: 2,
        validFlag: 1,
        displayFlag: 1,
        children: [
          {
            categoryId: 'D4BDF7859AF47241E053DC031EAC8826',
            categoryCode: 14,
            categoryName: '顶线',
            parentCategoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39B07DA1E053DC031EACB5A9',
                categoryCode: 101,
                categoryName: '包覆顶线',
                parentCategoryId: 'D4BDF7859AF47241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '包覆顶线'
              },
              {
                categoryId: 'D4BE673D39B17DA1E053DC031EACB5A9',
                categoryCode: 102,
                categoryName: '烤漆顶线',
                parentCategoryId: 'D4BDF7859AF47241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '烤漆顶线'
              },
              {
                categoryId: 'D4BE673D39B27DA1E053DC031EACB5A9',
                categoryCode: 103,
                categoryName: '实木顶线',
                parentCategoryId: 'D4BDF7859AF47241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '实木顶线'
              },
              {
                categoryId: 'D4BE673D39B37DA1E053DC031EACB5A9',
                categoryCode: 104,
                categoryName: '吸塑顶线',
                parentCategoryId: 'D4BDF7859AF47241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '吸塑顶线'
              }
            ],
            label: '顶线'
          },
          {
            categoryId: 'D4BDF7859AF57241E053DC031EAC8826',
            categoryCode: 15,
            categoryName: '挂件',
            parentCategoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39B47DA1E053DC031EACB5A9',
                categoryCode: 105,
                categoryName: '实木挂件',
                parentCategoryId: 'D4BDF7859AF57241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '实木挂件'
              },
              {
                categoryId: 'D4BE673D39B57DA1E053DC031EACB5A9',
                categoryCode: 106,
                categoryName: '吸塑挂件',
                parentCategoryId: 'D4BDF7859AF57241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '吸塑挂件'
              }
            ],
            label: '挂件'
          },
          {
            categoryId: 'D4BDF7859AF67241E053DC031EAC8826',
            categoryCode: 16,
            categoryName: '脚线',
            parentCategoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39B67DA1E053DC031EACB5A9',
                categoryCode: 107,
                categoryName: '包覆脚线',
                parentCategoryId: 'D4BDF7859AF67241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '包覆脚线'
              },
              {
                categoryId: 'D4BE673D39B77DA1E053DC031EACB5A9',
                categoryCode: 108,
                categoryName: '烤漆脚线',
                parentCategoryId: 'D4BDF7859AF67241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '烤漆脚线'
              },
              {
                categoryId: 'D4BE673D39B87DA1E053DC031EACB5A9',
                categoryCode: 109,
                categoryName: '实木脚线',
                parentCategoryId: 'D4BDF7859AF67241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '实木脚线'
              },
              {
                categoryId: 'D4BE673D39B97DA1E053DC031EACB5A9',
                categoryCode: 110,
                categoryName: '吸塑脚线',
                parentCategoryId: 'D4BDF7859AF67241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '吸塑脚线'
              }
            ],
            label: '脚线'
          },
          {
            categoryId: 'D4BDF7859AF77241E053DC031EAC8826',
            categoryCode: 17,
            categoryName: '廊桥',
            parentCategoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39BA7DA1E053DC031EACB5A9',
                categoryCode: 111,
                categoryName: '包覆廊桥',
                parentCategoryId: 'D4BDF7859AF77241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '包覆廊桥'
              },
              {
                categoryId: 'D4BE673D39BB7DA1E053DC031EACB5A9',
                categoryCode: 112,
                categoryName: '实木廊桥',
                parentCategoryId: 'D4BDF7859AF77241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '实木廊桥'
              },
              {
                categoryId: 'D4BE673D39BC7DA1E053DC031EACB5A9',
                categoryCode: 113,
                categoryName: '吸塑廊桥',
                parentCategoryId: 'D4BDF7859AF77241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '吸塑廊桥'
              }
            ],
            label: '廊桥'
          },
          {
            categoryId: 'D4BDF7859AF87241E053DC031EAC8826',
            categoryCode: 18,
            categoryName: '罗马柱',
            parentCategoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39BD7DA1E053DC031EACB5A9',
                categoryCode: 114,
                categoryName: '包覆罗马柱',
                parentCategoryId: 'D4BDF7859AF87241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '包覆罗马柱'
              },
              {
                categoryId: 'D4BE673D39BE7DA1E053DC031EACB5A9',
                categoryCode: 115,
                categoryName: '烤漆罗马柱',
                parentCategoryId: 'D4BDF7859AF87241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '烤漆罗马柱'
              },
              {
                categoryId: 'D4BE673D39BF7DA1E053DC031EACB5A9',
                categoryCode: 116,
                categoryName: '实木罗马柱',
                parentCategoryId: 'D4BDF7859AF87241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '实木罗马柱'
              },
              {
                categoryId: 'D4BE673D39C07DA1E053DC031EACB5A9',
                categoryCode: 117,
                categoryName: '吸塑罗马柱',
                parentCategoryId: 'D4BDF7859AF87241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '吸塑罗马柱'
              }
            ],
            label: '罗马柱'
          },
          {
            categoryId: 'D4BDF7859AF97241E053DC031EAC8826',
            categoryCode: 19,
            categoryName: '眉线',
            parentCategoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39C17DA1E053DC031EACB5A9',
                categoryCode: 118,
                categoryName: '烤漆眉线',
                parentCategoryId: 'D4BDF7859AF97241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '烤漆眉线'
              },
              {
                categoryId: 'D4BE673D39C27DA1E053DC031EACB5A9',
                categoryCode: 119,
                categoryName: '实木眉线',
                parentCategoryId: 'D4BDF7859AF97241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '实木眉线'
              },
              {
                categoryId: 'D4BE673D39C37DA1E053DC031EACB5A9',
                categoryCode: 120,
                categoryName: '吸塑眉线',
                parentCategoryId: 'D4BDF7859AF97241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '吸塑眉线'
              }
            ],
            label: '眉线'
          },
          {
            categoryId: 'D4BDF7859AFA7241E053DC031EAC8826',
            categoryCode: 20,
            categoryName: '收口条',
            parentCategoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39C47DA1E053DC031EACB5A9',
                categoryCode: 121,
                categoryName: '实木收口条',
                parentCategoryId: 'D4BDF7859AFA7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '实木收口条'
              }
            ],
            label: '收口条'
          },
          {
            categoryId: 'D4BDF7859AFB7241E053DC031EAC8826',
            categoryCode: 21,
            categoryName: '台面',
            parentCategoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39C77DA1E053DC031EACB5A9',
                categoryCode: 124,
                categoryName: '吸塑台面',
                parentCategoryId: 'D4BDF7859AFB7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '吸塑台面'
              },
              {
                categoryId: 'D4BE673D39C87DA1E053DC031EACB5A9',
                categoryCode: 125,
                categoryName: '油漆台面',
                parentCategoryId: 'D4BDF7859AFB7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '油漆台面'
              },
              {
                categoryId: 'D4BE673D39C57DA1E053DC031EACB5A9',
                categoryCode: 122,
                categoryName: '烤漆台面',
                parentCategoryId: 'D4BDF7859AFB7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '烤漆台面'
              },
              {
                categoryId: 'D4BE673D39C67DA1E053DC031EACB5A9',
                categoryCode: 123,
                categoryName: '实木台面',
                parentCategoryId: 'D4BDF7859AFB7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '实木台面'
              }
            ],
            label: '台面'
          },
          {
            categoryId: 'D4BDF7859AFC7241E053DC031EAC8826',
            categoryCode: 22,
            categoryName: '装饰镜',
            parentCategoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39C97DA1E053DC031EACB5A9',
                categoryCode: 126,
                categoryName: '包覆装饰镜',
                parentCategoryId: 'D4BDF7859AFC7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '包覆装饰镜'
              },
              {
                categoryId: 'D4BE673D39CA7DA1E053DC031EACB5A9',
                categoryCode: 127,
                categoryName: '实木装饰镜',
                parentCategoryId: 'D4BDF7859AFC7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '实木装饰镜'
              },
              {
                categoryId: 'D4BE673D39CB7DA1E053DC031EACB5A9',
                categoryCode: 128,
                categoryName: '吸塑装饰镜',
                parentCategoryId: 'D4BDF7859AFC7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '吸塑装饰镜'
              }
            ],
            label: '装饰镜'
          },
          {
            categoryId: 'D4BDF7859AFD7241E053DC031EAC8826',
            categoryCode: 23,
            categoryName: '装饰框/板',
            parentCategoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39CC7DA1E053DC031EACB5A9',
                categoryCode: 129,
                categoryName: '包覆装饰框/板',
                parentCategoryId: 'D4BDF7859AFD7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '包覆装饰框/板'
              },
              {
                categoryId: 'D4BE673D39CD7DA1E053DC031EACB5A9',
                categoryCode: 130,
                categoryName: '烤漆装饰框/板',
                parentCategoryId: 'D4BDF7859AFD7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '烤漆装饰框/板'
              },
              {
                categoryId: 'D4BE673D39CE7DA1E053DC031EACB5A9',
                categoryCode: 131,
                categoryName: '实木装饰框/板',
                parentCategoryId: 'D4BDF7859AFD7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '实木装饰框/板'
              },
              {
                categoryId: 'D4BE673D39CF7DA1E053DC031EACB5A9',
                categoryCode: 132,
                categoryName: '吸塑装饰框/板',
                parentCategoryId: 'D4BDF7859AFD7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '吸塑装饰框/板'
              }
            ],
            label: '装饰框/板'
          },
          {
            categoryId: 'D4BDF7859AFE7241E053DC031EAC8826',
            categoryCode: 24,
            categoryName: '装饰线',
            parentCategoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39D07DA1E053DC031EACB5A9',
                categoryCode: 133,
                categoryName: '包覆装饰线',
                parentCategoryId: 'D4BDF7859AFE7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '包覆装饰线'
              },
              {
                categoryId: 'D4BE673D39D17DA1E053DC031EACB5A9',
                categoryCode: 134,
                categoryName: '烤漆装饰线',
                parentCategoryId: 'D4BDF7859AFE7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '烤漆装饰线'
              },
              {
                categoryId: 'D4BE673D39D27DA1E053DC031EACB5A9',
                categoryCode: 135,
                categoryName: '实木装饰线',
                parentCategoryId: 'D4BDF7859AFE7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '实木装饰线'
              },
              {
                categoryId: 'D4BE673D39D37DA1E053DC031EACB5A9',
                categoryCode: 136,
                categoryName: '吸塑装饰线',
                parentCategoryId: 'D4BDF7859AFE7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '吸塑装饰线'
              }
            ],
            label: '装饰线'
          },
          {
            categoryId: 'D4BDF7859AFF7241E053DC031EAC8826',
            categoryCode: 25,
            categoryName: '坐垫',
            parentCategoryId: 'D4BDA7B60B2E5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39D47DA1E053DC031EACB5A9',
                categoryCode: 137,
                categoryName: '软包坐垫',
                parentCategoryId: 'D4BDF7859AFF7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '软包坐垫'
              },
              {
                categoryId: 'D4BE673D39D57DA1E053DC031EACB5A9',
                categoryCode: 138,
                categoryName: '硬包坐垫',
                parentCategoryId: 'D4BDF7859AFF7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '硬包坐垫'
              }
            ],
            label: '坐垫'
          }
        ],
        label: '装饰部件'
      },
      {
        categoryId: 'D4BDA7B60B2F5520E053DC031EACC267',
        categoryCode: 5,
        categoryName: '五金',
        parentCategoryId: 'D3E0C093A498D944E053DC031EACCAF9',
        levelCode: 2,
        validFlag: 1,
        displayFlag: 1,
        children: [
          {
            categoryId: 'D4D601AAB1AECB87E053DC031EAC3CAE',
            categoryCode: 202,
            categoryName: '测试子节点',
            parentCategoryId: 'D4BDA7B60B2F5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '测试子节点'
          },
          {
            categoryId: 'D4BDF7859B007241E053DC031EAC8826',
            categoryCode: 26,
            categoryName: '灯具电器',
            parentCategoryId: 'D4BDA7B60B2F5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '灯具电器'
          },
          {
            categoryId: 'D4BDF7859B017241E053DC031EAC8826',
            categoryCode: 27,
            categoryName: '功能五金',
            parentCategoryId: 'D4BDA7B60B2F5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '功能五金'
          },
          {
            categoryId: 'D4BDF7859B027241E053DC031EAC8826',
            categoryCode: 28,
            categoryName: '滑轨',
            parentCategoryId: 'D4BDA7B60B2F5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '滑轨'
          },
          {
            categoryId: 'D4BDF7859B037241E053DC031EAC8826',
            categoryCode: 29,
            categoryName: '拉手',
            parentCategoryId: 'D4BDA7B60B2F5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '拉手'
          },
          {
            categoryId: 'D4BDF7859B047241E053DC031EAC8826',
            categoryCode: 30,
            categoryName: '连接件',
            parentCategoryId: 'D4BDA7B60B2F5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '连接件'
          },
          {
            categoryId: 'D4BDF7859B057241E053DC031EAC8826',
            categoryCode: 31,
            categoryName: '门类五金',
            parentCategoryId: 'D4BDA7B60B2F5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '门类五金'
          },
          {
            categoryId: 'D4BDF7859B067241E053DC031EAC8826',
            categoryCode: 32,
            categoryName: '其他五金',
            parentCategoryId: 'D4BDA7B60B2F5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '其他五金'
          },
          {
            categoryId: 'D4BDF7859B077241E053DC031EAC8826',
            categoryCode: 33,
            categoryName: '衣通',
            parentCategoryId: 'D4BDA7B60B2F5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '衣通'
          },
          {
            categoryId: 'D4BDF7859B087241E053DC031EAC8826',
            categoryCode: 34,
            categoryName: '支撑脚柱',
            parentCategoryId: 'D4BDA7B60B2F5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '支撑脚柱'
          },
          {
            categoryId: 'D4BDF7859B097241E053DC031EAC8826',
            categoryCode: 35,
            categoryName: '装饰构件类',
            parentCategoryId: 'D4BDA7B60B2F5520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '装饰构件类'
          }
        ],
        label: '五金'
      },
      {
        categoryId: 'D4BDA7B60B305520E053DC031EACC267',
        categoryCode: 6,
        categoryName: '移门',
        parentCategoryId: 'D3E0C093A498D944E053DC031EACCAF9',
        levelCode: 2,
        validFlag: 1,
        displayFlag: 1,
        children: [
          {
            categoryId: 'D4BDF7859B0A7241E053DC031EAC8826',
            categoryCode: 36,
            categoryName: '竖框',
            parentCategoryId: 'D4BDA7B60B305520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '竖框'
          },
          {
            categoryId: 'D4BDF7859B0B7241E053DC031EAC8826',
            categoryCode: 37,
            categoryName: '芯板',
            parentCategoryId: 'D4BDA7B60B305520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39D67DA1E053DC031EACB5A9',
                categoryCode: 139,
                categoryName: '凹凸芯板',
                parentCategoryId: 'D4BDF7859B0B7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: [
                  {
                    categoryId: 'D4BE9DC6F81C8300E053DC031EACA08C',
                    categoryCode: 176,
                    categoryName: '油漆凹凸芯板',
                    parentCategoryId: 'D4BE673D39D67DA1E053DC031EACB5A9',
                    levelCode: 5,
                    validFlag: 1,
                    displayFlag: 1,
                    children: null,
                    label: '油漆凹凸芯板'
                  },
                  {
                    categoryId: 'D4BE9DC6F81B8300E053DC031EACA08C',
                    categoryCode: 175,
                    categoryName: '吸塑凹凸芯板',
                    parentCategoryId: 'D4BE673D39D67DA1E053DC031EACB5A9',
                    levelCode: 5,
                    validFlag: 1,
                    displayFlag: 1,
                    children: null,
                    label: '吸塑凹凸芯板'
                  }
                ],
                label: '凹凸芯板'
              },
              {
                categoryId: 'D4BE673D39D77DA1E053DC031EACB5A9',
                categoryCode: 140,
                categoryName: '百叶',
                parentCategoryId: 'D4BDF7859B0B7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '百叶'
              },
              {
                categoryId: 'D4BE673D39D87DA1E053DC031EACB5A9',
                categoryCode: 141,
                categoryName: '玻璃芯板',
                parentCategoryId: 'D4BDF7859B0B7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '玻璃芯板'
              },
              {
                categoryId: 'D4BE673D39D97DA1E053DC031EACB5A9',
                categoryCode: 142,
                categoryName: '皮革',
                parentCategoryId: 'D4BDF7859B0B7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '皮革'
              },
              {
                categoryId: 'D4BE673D39DA7DA1E053DC031EACB5A9',
                categoryCode: 143,
                categoryName: '平芯板',
                parentCategoryId: 'D4BDF7859B0B7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: [
                  {
                    categoryId: 'D4BE9DC6F81D8300E053DC031EACA08C',
                    categoryCode: 177,
                    categoryName: '包覆平芯板',
                    parentCategoryId: 'D4BE673D39DA7DA1E053DC031EACB5A9',
                    levelCode: 5,
                    validFlag: 1,
                    displayFlag: 1,
                    children: null,
                    label: '包覆平芯板'
                  },
                  {
                    categoryId: 'D4BE9DC6F81E8300E053DC031EACA08C',
                    categoryCode: 178,
                    categoryName: '实木平芯板',
                    parentCategoryId: 'D4BE673D39DA7DA1E053DC031EACB5A9',
                    levelCode: 5,
                    validFlag: 1,
                    displayFlag: 1,
                    children: null,
                    label: '实木平芯板'
                  },
                  {
                    categoryId: 'D4BE9DC6F81F8300E053DC031EACA08C',
                    categoryCode: 179,
                    categoryName: '饰面平芯板',
                    parentCategoryId: 'D4BE673D39DA7DA1E053DC031EACB5A9',
                    levelCode: 5,
                    validFlag: 1,
                    displayFlag: 1,
                    children: null,
                    label: '饰面平芯板'
                  },
                  {
                    categoryId: 'D4BE9DC6F8208300E053DC031EACA08C',
                    categoryCode: 180,
                    categoryName: '吸塑平芯板',
                    parentCategoryId: 'D4BE673D39DA7DA1E053DC031EACB5A9',
                    levelCode: 5,
                    validFlag: 1,
                    displayFlag: 1,
                    children: null,
                    label: '吸塑平芯板'
                  },
                  {
                    categoryId: 'D4BE9DC6F8218300E053DC031EACA08C',
                    categoryCode: 181,
                    categoryName: '油漆平芯板',
                    parentCategoryId: 'D4BE673D39DA7DA1E053DC031EACB5A9',
                    levelCode: 5,
                    validFlag: 1,
                    displayFlag: 1,
                    children: null,
                    label: '油漆平芯板'
                  }
                ],
                label: '平芯板'
              }
            ],
            label: '芯板'
          },
          {
            categoryId: 'D4BDF7859B0C7241E053DC031EAC8826',
            categoryCode: 38,
            categoryName: '腰线',
            parentCategoryId: 'D4BDA7B60B305520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '腰线'
          }
        ],
        label: '移门'
      },
      {
        categoryId: 'D4BDA7B60B315520E053DC031EACC267',
        categoryCode: 7,
        categoryName: '掩门',
        parentCategoryId: 'D3E0C093A498D944E053DC031EACCAF9',
        levelCode: 2,
        validFlag: 1,
        displayFlag: 1,
        children: [
          {
            categoryId: 'D4BDF7859B0D7241E053DC031EAC8826',
            categoryCode: 39,
            categoryName: '包覆门',
            parentCategoryId: 'D4BDA7B60B315520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39DB7DA1E053DC031EACB5A9',
                categoryCode: 144,
                categoryName: '外购',
                parentCategoryId: 'D4BDF7859B0D7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '外购'
              },
              {
                categoryId: 'D4BE673D39DC7DA1E053DC031EACB5A9',
                categoryCode: 145,
                categoryName: '自制',
                parentCategoryId: 'D4BDF7859B0D7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '自制'
              }
            ],
            label: '包覆门'
          },
          {
            categoryId: 'D4BDF7859B0E7241E053DC031EAC8826',
            categoryCode: 40,
            categoryName: '烤漆门',
            parentCategoryId: 'D4BDA7B60B315520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '烤漆门'
          },
          {
            categoryId: 'D4BDF7859B0F7241E053DC031EAC8826',
            categoryCode: 41,
            categoryName: '铝框门',
            parentCategoryId: 'D4BDA7B60B315520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: [
              {
                categoryId: 'D4BE673D39DD7DA1E053DC031EACB5A9',
                categoryCode: 146,
                categoryName: '外购',
                parentCategoryId: 'D4BDF7859B0F7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '外购'
              },
              {
                categoryId: 'D4BE673D39DE7DA1E053DC031EACB5A9',
                categoryCode: 147,
                categoryName: '自制',
                parentCategoryId: 'D4BDF7859B0F7241E053DC031EAC8826',
                levelCode: 4,
                validFlag: 1,
                displayFlag: 1,
                children: null,
                label: '自制'
              }
            ],
            label: '铝框门'
          },
          {
            categoryId: 'D4BDF7859B107241E053DC031EAC8826',
            categoryCode: 42,
            categoryName: '拼框门',
            parentCategoryId: 'D4BDA7B60B315520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '拼框门'
          },
          {
            categoryId: 'D4BDF7859B117241E053DC031EAC8826',
            categoryCode: 43,
            categoryName: '平板门',
            parentCategoryId: 'D4BDA7B60B315520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '平板门'
          },
          {
            categoryId: 'D4BDF7859B127241E053DC031EAC8826',
            categoryCode: 44,
            categoryName: '实木门',
            parentCategoryId: 'D4BDA7B60B315520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '实木门'
          },
          {
            categoryId: 'D4BDF7859B137241E053DC031EAC8826',
            categoryCode: 45,
            categoryName: '吸塑门',
            parentCategoryId: 'D4BDA7B60B315520E053DC031EACC267',
            levelCode: 3,
            validFlag: 1,
            displayFlag: 1,
            children: null,
            label: '吸塑门'
          }
        ],
        label: '掩门'
      }
    ],
    label: '衣柜'
  }
]

// 查询指定父对象
let parentNode = null
let node = null

function getNode(json, nodeId) {
  //1.第一层 root 深度遍历整个JSON
  for (let i = 0; i < json.length; i++) {
    if (node) {
      break
    }
    let obj = json[i]
    //没有就下一个
    if (!obj || !obj.categoryId) {
      continue
    }

    //2.有节点就开始找,一直递归下去
    if (obj.categoryId === nodeId) {
      //找到了与nodeId匹配的节点,结束递归
      node = obj
      break
    } else {
      //3.如果有子节点就开始找
      if (obj.children) {
        //4.递归前,记录当前节点,作为parent 父亲
        parentNode = obj
        //递归往下找
        getNode(obj.children, nodeId)
      } else {
        //跳出当前递归,返回上层递归
      }
    }
  }

  //5.如果木有找到父节点,置为null,因为没有父亲
  if (!node) {
    parentNode = null
  }

  //6.返回结果obj
  return {
    parentNode: parentNode,
    node: node
  }
}

//批量查询
let query = ['D4BE9DC6F81D8300E053DC031EACA08C']

//打印结果
for (let i = 0; i < query.length; i++) {
  node = null
  parentNode = null
  let obj = getNode(json, query[i])
  console.log(
    // '查询categoryId:' +
    //   query[i] +
    'name:  ' +
      obj.node.categoryName +
      '  categoryId:  ' +
      obj.node.categoryId +
      '  父级levelCode:  ' +
      (obj.parentNode ? obj.parentNode.levelCode : '木有父级!')
  )
}