2015-08-20 2 views
0

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

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

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

(А) используют удалить функцию (п), чтобы удалить п-й элемент вектора или

(В), за исключением 2-мерный массив в суб-объекта:

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

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