javascript数组变量的问题

时间:2015-09-14 13:59:03

标签: javascript arrays rhino

我在我的应用程序中使用javascript是一个rhino javascript引擎。我喜欢使用数组作为数组。

以下代码是我的实际工作代码。

    while (input.hasNext()) {
        var data = input.next();
        var new_data = {};
        var i = 0;
        while(i<data.get('total_entries')){
        new_data.entries = data.get('total_entries');
        new_data.id = data.get('out').get(i).get('id');
        output.write(new_data);
        i++;
        }
    }

我需要为new_data []创建数组。

    while (input.hasNext()) {
        var data = input.next();
        var new_data[] = {};
        var i = 0;
        while(i<data.get('total_entries')){
        new_data[i].entries = data.get('total_entries');
        new_data[i].id = data.get('out').get(i).get('id');
        output.write(new_data[i]);
        i++;
        }
    }

但它不起作用。所以,帮我在其中创建数组变量。

感谢。

2 个答案:

答案 0 :(得分:1)

你的意思是这样的:

while (input.hasNext()) {
    var data = input.next();
    var new_data = [];
    var i = 0;
    while(i<data.get('total_entries')){
    new_data.push({entries: data.get('total_entries'), id: data.get('out').get(i).get('id')});
    output.write(new_data[i]);
    i++;
    }
}

答案 1 :(得分:1)

var new_data[] = {};

首先,这是无效的JavaScript。

new_data[i]

您希望new_data成为对象数组。为什么不将它声明为一个并在while循环的每次迭代中添加对象:

var new_data = [];

while(...){
  new_data.push({
    entries: ...
    id: ...
  });
}