gpt4 book ai didi

javascript - 如何从 Nashorn JavaScript 中删除 Java Map 中的元素

转载 作者:搜寻专家 更新时间:2023-11-01 02:58:09 26 4
gpt4 key购买 nike

我有一个已传递给脚本引擎的 Java HashMap。我想在处理条目时删除它们,因为我稍后会报告无效 key 。删除条目的明显常用方法(delete testMap['key'];)没有任何效果。

如何让这个测试通过?

@Test
public void mapDelete() throws ScriptException{
Map<String,String> map = new HashMap<>(1);
map.put("key","value");

ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
engine.getContext().getBindings(ScriptContext.GLOBAL_SCOPE).put ("testMap", map);
engine.eval("delete testMap['key'];");
Assert.assertEquals (0, map.size());
}

最佳答案

如果你知道你有一个HashMap,你可以使用它的Map APINashorn 中,即:

@Test
public void mapDelete() throws ScriptException {
Map<String,String> map = new HashMap<>(1);
map.put("key","value");

ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
engine.getContext().getBindings(ScriptContext.GLOBAL_SCOPE).put ("testMap", map);
engine.eval("testMap.remove('key');");
Assert.assertEquals (0, map.size());
}

关于javascript - 如何从 Nashorn JavaScript 中删除 Java Map 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46424620/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com