在JavaScript中填充对象数组

5
假设我有一个名为“机场”的对象,其中包含成员airportCode和airportCity,如下所示:
function Airport(airportCode, airportCity) {
        this.airportCode = airportCode;
        this.airportCity = airportCity;
    };     

我该如何创建一个对象数组Airport,并向其中添加对象。在Java中,这样做的代码如下:

while(st.hasMoreTokens()) {
    Airport a = new Airport();
    a.airportCode = st.nextToken();
    a.airportCity = st.nextToken();
    airports.add(a);
}

2
使用 var airports = []; 创建一个数组。然后,在循环中创建一个 Airport 实例,并使用 airports.push 方法将其添加到数组中。 - Rob W
2
你的 JavaScript 代码中的 st 是什么? - Bergi
3个回答

11
一个非常简短的答案:
airports.push(new Airport("code","city"));

7

试试这个:

function Airport(airportCode, airportCity) {
        this.airportCode = airportCode;
        this.airportCity = airportCity;
};

var dataArray = [];

for(var i=0; i< 10; i++){
    dataArray[i] = new Airport("Code-" + i, "City" + i);
}

1
或者简单地使用dataArray.push(new Airport(...));,这样稍微快一点。:-) - YMMD
1
这是另一个 http://jsperf.com/push-vs-index-2,以展示它更容易编写。 - Esailija
我收回之前的评论,因为结果在不同的浏览器/操作系统中并不一致。 - Chandu

4

其实并没有什么不同

var airports = [];
while (st.hasMoreTokens()) {
    var a = new Airport();
    a.airportCode = st.nextToken();
    a.airportCity = st.nextToken();
    airports.push(a);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接