企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
JavaScript Java Bridge API提供了JSArray类,它表示JavaScript数组对象的包装器。如果JavaScript将数组返回给Java代码,则数组值将在Java代码中表示为JSArray对象。例如: ``` JSValue result = browser.executeJavaScriptAndReturnValue("[1, 'test', 3]"); JSArray array = result.asArray(); ``` 在上面的示例中,JavaScript代码返回一个包含三个项目(1,'test',3)到Java代码的数组。该JSValue可强制转换为JSArray类型使用JavaScript阵列工作。使用JSArray类,您可以获取数组的长度,访问数组项以及使用新项修改JavaScript数组。 请注意,JSArray指向加载的网页上的现有JavaScript数组。如果重新加载或卸载了网页,JSArray对象将指向在卸载网页期间处置的无效JavaScript数组。如果您尝试使用此JSArray实例,则将 抛出IllegalStateException错误。 ## 获得数组长度 要获取数组长度,请使用JSArray.length()方法。例如: ``` JSValue result = browser.executeJavaScriptAndReturnValue("[1, 'test', 3]"); JSArray array = result.asArray(); assert array.length() == 3; ``` ## 获取数组项 要访问特定索引处的数组项,请使用JSArray.get(int index)方法。指数不能为负数。它可以超过数组长度。在这种情况下,将返回“ 未定义 ”值。例如: ``` assert array.get(0).asNumber().getInteger() == 1; assert array.get(1).getStringValue().equals("test"); assert array.get(2).asNumber().getInteger() == 3; assert array.get(100).isUndefined(); ``` ## 设置数组项 您可以使用JSArray.set(int index,Object value)方法修改现有数组项或添加新项。该方法返回一个布尔值,指示给定值是否已成功插入到数组中。您可以在索引处插入超过数组长度的新值。在这种情况下,数组的大小将增加,新项目将插入给定位置,最新有效数组元素和新数组元素之间的所有项目将填充“ 未定义 ”值。 ``` assert array.set(0, "String value"); assert array.set(100, 123); ```