将多维数组(数组数组)传递给abject的最简单方法

时间:2016-02-29 21:09:58

标签: javascript arrays multidimensional-array

我正在尝试使用构造函数将数据从多维数组传递到对象中。截至目前,我基本上是按位置传递它并在一堆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实例。

注意:数组实际上会更大,但我不想为了简单和时间而做整件事

1 个答案:

答案 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]);