我有一个带有数组的viewScope,例如:
viewScope.myTest = [];
viewScope.myTest.push(["row1col1", "row1col2", "row1col3"]);
viewScope.myTest.push(["row2col1", "row2col2", "row2col3"]);
etc ..
我想创建一个新的viewScope数组,例如viewScope.mySelection [],其中包含第一个viewScope数组的所有值,除了例如第2列包含" row1col2"的那些。
在ssjs中,不可能使用拼接,因此不能选择。
我发现了以下OpenNtf片段,但这似乎并不适用于我的情况:remove entry from array
或者是吗?
答案 0 :(得分:0)
服务器端JavaScript数组确实支持splice功能。在您的情况下,问题是当设置viewScope.myTest=[];
时,数组(com.ibm.jscript.std.ArrayObject)被转换为不支持的向量( java.util.Vector )拼接功能。为了避免这种情况,你可以
(A)使用删除(n)函数删除向量的第n个元素或
(B)将二维数组保存在子对象中:
viewScope.myTest = { data:[] };
viewScope.myTest.data.push(["row1col1", "row1col2", "row1col3"]);
viewScope.myTest.data.push(["row2col1", "row2col2", "row2col3"]);
阻止转换为矢量,并能够使用拼接(n,1)删除第n行。