我正在尝试将JSON数据推送到数组中的一个数组。与我能找到的其他例子的问题不同之处在于,这两个数组都是由循环构建的,我认为这就是我收到的错误的原因。TypeError: Cannot call method 'push' of undefined
这里有一个我试图实现的最小示例。
var json = {origin: data.origin.name, destination: data.destination.name, trips: []};
for (var i = 0; i < data.trips.length; i++) {
    var departure = data.trips[i].dep.time;
    var arrival   = data.trips[i].arr.time;
    json.trips.push({departure: departure, arrival: arrival, nodes: []});
    for (var j = 0; j < data.trips[i].legs.length; j++) {
        json.trips.nodes.push({test: 'test'});
    }
}我尝试创建的输出应该如下所示。
{
    origin: origin,
    destination: destination,
    trips: [
        {
            departure: departure,
            arrival: arrival,
            nodes: [
                {test: test},
                {test: test},
                {test: test}
            ]
        },
        {
            departure: departure,
            arrival: arrival,
            nodes: [
                {test: test},
                {test: test},
                {test: test}
            ]
        }
    ]
}当然,测试节点是没有意义的,但是不应该以这种方式添加它们吗?
发布于 2014-08-07 07:24:11
var json = {origin: data.origin.name, destination: data.destination.name, trips: []};
for (var i = 0; i < data.trips.length; i++) {
    var departure = data.trips[i].dep.time;
    var arrival   = data.trips[i].arr.time;
    var trip = {departure: departure, arrival: arrival, nodes: []}
    for (var j = 0; j < data.trips[i].legs.length; j++) {
        trip.nodes.push({test: 'test'});
    }
    json.trips.push(trip);
}https://stackoverflow.com/questions/25171630
复制相似问题