当前位置: 首页 > 知识库问答 >
问题:

java和javascript -访问地图

祝花蜂
2023-03-14

我正在使用rhino在我的Java程序中执行javascript代码。我无法迭代javascript中的映射。

private final Map<Long, ClassEmployees > employees ;
...
employees.put (numEmployees, new ClassEmployees());
...
keys = employees.keySet();
for (var i in keys) {
  print ("++ " + i);   // ===> print the method ??? Strange...no?
}

get类
迭代器
到阵列
添加所有
删除
等于
包含所有

哈希代码
包含
等待
添加
大小
清除
是空
通知

保留所有
到字符串
通知全部
删除所有

共有1个答案

秋阳荣
2023-03-14

您的< code>keys变量保存了一个对Java Set对象的引用,但是JavaScript的< code>for in构造并不真正知道如何迭代它,因此就像对待任何其他对象一样对待它。

for…in语句迭代对象的可枚举属性

Set 对象方法是它的可枚举属性,因此这就是您得到的。

要迭代 Set 的基础值,您应该使用显式迭代器(就像在 Java 中一样),或者简单地将其转换为数组,如下所示:

for each (var i in keys.toArray() ) {
     //...        
}
 类似资料:
  • 问题内容: 我有基于json的数据结构,其中包含嵌套对象。为了访问特定的数据元素,我一直将对对象属性的引用链接在一起。例如: 如果未定义b或bc,则将失败并显示错误。但是,我想获得一个值(如果存在的话),否则只是未定义。无需检查链中每个值是否存在的最佳方法是什么? 我想尽可能地保持这种方法,所以我不必添加大量的辅助方法,例如: 要么 我也想尝试避免使用try / catch构造,因为这不是错误,因

  • 问题内容: 是否有使用JavaScript完成的本地文件操作?我正在寻找一种解决方案,该解决方案可以像安装Adobe AIR那样在没有安装空间的情况下实现。 具体来说,我想从文件中读取内容并将这些内容写入另一个文件。在这一点上,我不担心获得权限,只是假设我已经对这些文件拥有完全权限。 问题答案: 如果用户通过选择文件,则可以使用File API读取和处理该文件。 设计不允许读取或写入任意文件。这违

  • Apple许可地狱:osascript和可访问性(辅助访问)。 错误:不允许osascript进行辅助访问。(-1719) 我在一个名为QuickenUpdate的文件中有一行脚本。scpt 在脚本编辑器中运行(works): 运行在终端(工程): 我有一个shell脚本(QU.sh)来运行这个。 如果我从BBEdit内部运行QU.sh,它会起作用。 如果我运行QU. sh从终端,它的工作原理。

  • 本文向大家介绍Go 并发访问地图,包括了Go 并发访问地图的使用技巧和注意事项,需要的朋友参考一下 示例 进行中的映射并发并不安全。如果要同时访问它们,则必须加锁以对其进行读写。通常,最好的选择是使用,sync.RWMutex因为您可以拥有读写锁。但是,sync.Mutex也可以使用a。 包装函数的权衡是在基础图的公共访问与正确使用适当的锁之间。

  • 问题内容: 我尝试遍历一个映射,将其作为指向函数的指针传递,但是我找不到访问元素的方法。这是代码: 此示例中的第4行返回以下编译错误: 我尝试了方括号,但没有效果。如果我带走所有引用运算符(*&),则可以正常编译。 我该怎么写? 问题答案: 您不需要在地图上使用指针。 映射类型是引用类型,例如指针或切片 如果需要更改,可以使用一个指针:

  • 问题内容: 我目前正在尝试在Antlr4访问者的帮助下开发JavaScript编译器。我已经用Java实现了这一点,但无法弄清楚如何用JavaScript做到这一点。也许有人可以回答我几个问题? 1:在Java中,有一个Visitor.visit函数。如果我说得对,那么使用Javascript是不可能的。有没有解决的办法? 2:我的Javascript访问者获得了所有生成的访问函数,但是当我使用c