基于值第二列删除第二行数组

时间:2015-08-20 11:59:00

标签: xpages-ssjs

我有一个带有数组的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

或者是吗?

1 个答案:

答案 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行。

相关问题