Tema anterior: Cómo especificar el valor de un elemento en un campo indexadoTema siguiente: Cómo acceder a los métodos en un campo indexado


Acceso a la longitud de un campo indexado

CA Process Automation es compatible con la propiedad de longitud de JavaScript para matrices y su propia propiedad de tamaño para acceder a la longitud de un campo indexado. La propiedad de longitud es de solo lectura, mientras que la propiedad de tamaño permite cambiar el número de elementos de un campo indexado. La propiedad de longitud utiliza la notación de puntos o de corchetes para devolver el número de elementos de un campo indexado:

dataset_reference.indexed_field_name.length
dataset_reference[indexed_field_name_expression].length

La propiedad de tamaño funciona de la misma forma, utilizando notación de punto o de paréntesis:

dataset_reference.indexed_field_name.size
dataset_reference[indexed_field_name_expression].size

Debido a que un campo indexado es una matriz basada en cero, las propiedades de longitud y tamaño siempre devuelven una unidad más que el índice para el último elemento de un campo. Así, cuando la longitud o el tamaño devuelven n, un campo contiene 0, 1..., n-1 elementos indexados y el índice para el último elemento de la matriz es n-1.

Si se asigna un nuevo valor a la propiedad de tamaño se extiende o trunca el número de elementos en un campo indexado. Si se reduce el valor para la propiedad de tamaño, se eliminan elementos del extremo superior de un campo indexado y se suprimen los valores almacenados en los elementos suprimidos. El siguiente código utiliza la propiedad de tamaño para incrementar la longitud de una matriz X en un elemento y, posteriormente, asigna 25 al nuevo elemento:

Process.X.size = Process.X.size + 1;
Process.X[Process.X.size - 1] = 25;

Para una matriz pluridimensional, la propiedad de tamaño o longitud devuelve el número de elementos en una dirección de matriz a la cual se anexa.

Por ejemplo, para una matriz bidimensional denominada matrix[a][b], la sintaxis siguiente devuelve el tamaño de la primera dimensión de la matriz, con los elementos que contienen 0...size1-1:

size1 = matrix.length

La siguiente sintaxis devuelve el tamaño de la segunda dimensión de la matriz, dado el primer elemento de dimensión 2, con b que contiene los elementos 0...size2-1 cuando a = 2 contiene elementos 0...size1-1:

size2 = matrix[2].length

En el siguiente ejemplo se gestionan elementos de un campo indexado pluridimensional enrollando todos los elementos en un campo indexado bidimensional (una matriz de matrices) en la variable del conjunto de datos del proceso llamada "matrix". El código asigna el valor para cada elemento a un campo indexado unidimensional en los valores denominados de la variable del conjunto de datos del proceso:

var i; j; k=0;
for (i=0; i < Process.matrix.length; i++)
{
for (j=0; j < Process.matrix[i].length; j++)
{
Process.values[k] = Process.matrix[i][j]
	k++
}
}