我正在尝试使用构造函数将数据从多维数组传递到对象中。截至目前,我基本上是按位置传递它并在一堆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对象,但是按照我现在的方式执行它似乎是非常低效。有没有更好的方法来实现这一目标?我只想创建一个Plume实例。
注意:数组实际上会更大,但我不想为了简单和时间而做整件事
答案 0 :(得分:0)
你不需要在这里循环:
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]);