我试图使用构造函数将数据从多维数组传递到对象。到目前为止,我基本上是按位置传递它,并在一堆for循环中处理构造。它的工作方式,我正在做,但我想知道,有更好的方法来做这件事吗?
JS
function Plume(dateTime, huh){
for(var i = 0; i < dateTime.length; i++){
this.time = dateTime[0];
this.zone = dateTime[1];
this.date = dateTime[2];
}
for(var i = 0; i < huh.length; i++){
this.huh = huh[0];
}
this.dateTime = this.date +" " +this.time;
this.huh = this.huh;
}
var plume = new Plume(file[0], file[1]);我知道,如果我对数组file本身执行一个循环,我只需为数组中的每个项创建一个Plume对象,但是现在我这样做似乎效率很低。有什么更好的方法来实现这一点吗?我只想要创建一个羽流的实例。
注意:数组实际上要大得多,但是为了简单和时间的考虑,我不想做所有的事情
发布于 2016-02-29 21:12:02
你不需要在这里循环:
function Plume(dateTime, huh){
this.time = dateTime[0];
this.zone = dateTime[1];
this.date = dateTime[2];
this.huh = huh[0];
this.dateTime = this.date + " " + this.time;
}
var plume = new Plume(file[0], file[1]);如果您可以使用ES6特性,您可以像这样构造参数:
function Plume([time, zone, date], [huh]){
this.time = time;
this.zone = zone;
this.date = date;
this.huh = huh;
this.dateTime = this.date + " " + this.time;
}
var plume = new Plume(file[0], file[1]);https://stackoverflow.com/questions/35709703
复制相似问题