【发布时间】:2014-08-15 16:58:19
【问题描述】:
我有一个存储档案的作用域变量:
viewScope.MY_SCOPE = new Array();
viewScope.MY_SCOPE.push(["id0", 0, true]);
viewScope.MY_SCOPE.push(["id1", 1, false]);
viewScope.MY_SCOPE.push(["id2", 3, true]);
现在我想更新其中一项。
viewScope.MY_SCOPE[1][2] = "true";
这会失败并出现错误:
执行 JavaScript 动作表达式时出错
put(int index,FBSValue value)在JavaWrapperObject中不受支持。
如何更新数组中的特定项?
【问题讨论】:
-
在上述代码中,
viewScope.MY_SCOPE[1][2]返回false。您的错误表明您以某种方式滥用您的库。你能告诉我们更多相关的代码吗? -
@forgivenson 你是对的,我编辑了
-
就是这样.. 没什么更具体的了.. 我只需要更新一个数组项.. 有没有特定的方法使用 .PUT 数组来更新项?
-
在纯 javascript 中,该分配很好。但是由于您的错误与this thread 中的错误相似,我认为它与 XPages 以及您使用它的方式有关。
-
问题可能是数组存储在viewScope中,这是一个Java HashMap。因此,存在与您如何通过哈希映射到达数组有关的问题。迈克尔的回答通过首先获取数组并将其放入变量来解决这个问题。然后按预期使用本地对象/数组,然后将其放回存储范围。
标签: javascript xpages