递归对象数组以创建自定义类对象

阿米特·库马尔

我有一个 javascript 对象数组,其中包含一些要传递给自定义类的参数。

    var classObjectDetails = [{
      name: "objOne",
      options: ["1","2"],
      children: [{
        name: "childOne_objOne",
        options: null
        children: [{
          name: "childOne_childOne_objOne",
          options: ["a", "b", "c", "d"],
        }]
      }, {
        name: "childTwo_objOne",
        options: null,
      }]
    }, {
      name: "objTwo",
      options: null,
    }];

以上是包含详细信息的示例对象。如果我有一个像下面这样的课程,

class sampleClass {
  constructor(objName, option) {
      this.name = objName;
      this.options = option;
      this.children = [];
      // Some other properties
    }
    // Some other functions
}

我想编写一个高效的递归函数,最终返回给我的 sampleClass 对象数组。

objOne 和 objTwo 是数组中的两个对象,objOne 有两个孩子,依此类推 classObjectDetails

内纳德·弗拉卡尔

您可以使用forEach()循环创建递归函数并使用来自原始数组中每个对象的数据来创建类的实例,该实例将具有该类的所有方法。

var data = [{"name":"objOne","options":["1","2"],"children":[{"name":"childOne_objOne","options":null,"children":[{"name":"childOne_childOne_objOne","options":["a","b","c","d"]}]},{"name":"childTwo_objOne","options":null}]},{"name":"objTwo","options":null}]

class sampleClass {
  constructor(objName, option) {
    this.name = objName;
    this.options = option;
    this.children = [];
  }
  
  getName() {
    return this.name;
  }
}

function create(data) {
  var result = [];
  data.forEach(function(e) {
    var o = new sampleClass;
    o.name = e.name;
    o.options = e.options
    if (e.children) {
      var children = create(e.children)
      if (children.length) o.children = children;
    }
    result.push(o)
  })
  return result;
}

var result = create(data);
console.log(result)
console.log(result[0].children[0].getName())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

递归创建自定义复杂对象

来自分类Dev

创建自定义对象数组的数组

来自分类Dev

创建自定义对象类android

来自分类Dev

从对象数组创建自定义 JSON

来自分类Dev

在 Java 中从给定的自定义对象创建对象数组

来自分类Dev

使用C API创建自定义类对象的numpy数组

来自分类Dev

如何从变量创建自定义类?(不是对象)

来自分类Dev

C# 计算自定义类数组中的自定义类对象

来自分类Dev

如何初始化自定义类对象的数组?

来自分类Dev

使用自定义键创建对象数组

来自分类Dev

创建我的自定义对象数组的Powershell

来自分类Dev

在Java中创建自定义对象数组

来自分类Dev

从XML创建2D的自定义对象数组

来自分类Dev

从 json 数据创建自定义对象数组

来自分类Dev

TS:自定义对象数组的定义

来自分类Dev

来自自定义类的对象向量

来自分类Dev

在AngularJS中创建自定义对象

来自分类Dev

创建自定义类型对象的向量

来自分类Dev

快速创建自定义对象

来自分类Dev

如何创建自定义的fabricjs对象?

来自分类Dev

从CSV行创建自定义对象

来自分类Dev

创建自定义对象文字

来自分类Dev

在AngularJS中创建自定义对象

来自分类Dev

避免创建过多的自定义对象

来自分类Dev

NSKeyedArchiver自定义对象数组

来自分类Dev

对象数组的自定义排序顺序

来自分类Dev

加入自定义对象数组

来自分类Dev

使用数组的自定义对象

来自分类Dev

对象数组的自定义排序顺序