如何在Javascript中迭代Java集合
我正在尝试在Java程序中使用Javascript编写脚本。我还没有找到在Javascript中迭代Java集合的方法。如果我为集合调用迭代器()方法,则得到的是方法名而不是元素
下面是一个示例代码:
function getValue(row, components) {
var apartment = components.get(0);
var rooms = apartment.getRooms();
for (var room in rooms.iterator()) {
println(room);
}
return rooms.toString();
}
公寓。getRooms()返回房间的集合。当我研究这个函数返回的值时,我知道它的内容是正确的,但是打印的值是方法名
我从Java程序中调用Javascript,如下所示:
getInvocable().invokeFunction("getValue", row, components);
# 1 楼答案
如果我按照如下方式进行迭代:
它起作用了
# 2 楼答案
要使用
for in
,您必须首先转换它to an array:否则,您将迭代对象属性
如果您使用的是Rhino 1.7或更高版本,则可以使用其non-standard iterator support: