繁体   English   中英

打字稿:在另一个Class构造函数中创建Class实例的数组

[英]Typescript: Creating Array of Class instance inside another Class constructor

什么是从JSON创建类实例的最佳方法,JSON具有其他类的数组作为成员

class Someclass {
  memList: Mem[];
  constructor(data: any) {
    for(let i=0;i<data.mems.length;i++) {
      this.memList.push(new Mem(data.mems[i]));
    }
  }
 //methods
  ...
}

export class Mem {
 // Mem class with members 
}

Json
{
  mems: [
         {//here mem properties},
         {},
         {}
        ],
  someOtherProp: {}
}

在这种情况下遵循的一般惯例是什么?

在构造函数内部循环并创建新实例被认为是一种好方法吗?

在Mem类内部,如果要创建其他类对象的列表,是否会减慢创建Someclass的类实例的速度?

class Someclass {
  memList: Mem[];
  constructor(data: any) {
    this.memList = data.mems.map(m => new Mem(m));
  }
 //methods
  ...
}

...是一种很好的简洁方法,可以执行所需的操作,尽管您的方法也很好-如果您添加了this. memList之前。 除非您拥有庞大的数据集,否则不必担心放慢类的构造,但是无论如何您可能还会遇到其他问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM