удалить массив строки 2d на основе значения второго столбца

У меня есть viewScope с массивом, например:

viewScope.myTest = [];
viewScope.myTest.push(["row1col1", "row1col2", "row1col3"]);
viewScope.myTest.push(["row2col1", "row2col2", "row2col3"]);
etc ..

Я хотел бы создать новый массив viewScope, например, viewScope.mySelection[] со всеми значениями первого массива viewScope, кроме тех, где, например, столбец 2 содержит «row1col2».

В ssjs невозможно использовать splice, так что это не вариант.

Я нашел следующий фрагмент кода OpenNtf, но он не подходит для моей ситуации: удалить запись из массива

or is it ?


person Marc Jonkers    schedule 20.08.2015    source источник


Ответы (1)


Серверные массивы JavaScript поддерживают функцию объединения. Проблема в вашем случае заключается в том, что при установке viewScope.myTest=[]; массив (com.ibm.jscript.std.ArrayObject) преобразуется в вектор (java.util.Vector), который не поддерживает функцию соединения. Чтобы обойти это, вы можете

(A) используйте функцию remove(n) для удаления n-го элемента вектора или

(B) сохранить двумерный массив в подобъекте:

viewScope.myTest = { data:[] };
viewScope.myTest.data.push(["row1col1", "row1col2", "row1col3"]);
viewScope.myTest.data.push(["row2col1", "row2col2", "row2col3"]);

чтобы предотвратить преобразование в вектор и иметь возможность использовать splice(n,1) для удаления n-й строки.

person xpages-noob    schedule 24.08.2015