TypeScript: matrices

El uso de variables para almacenar valores presenta las siguientes limitaciones:

  • Las variables son de naturaleza escalar. En otras palabras, una declaración de variable solo puede contener una a la vez. Esto significa que para almacenar n valores en un programa se necesitarán n declaraciones de variables. Por tanto, el uso de variables no es factible cuando se necesita almacenar una colección mayor de valores.

  • A las variables de un programa se les asigna memoria en orden aleatorio, lo que dificulta la recuperación / lectura de los valores en el orden de su declaración.

TypeScript introduce el concepto de matrices para abordar lo mismo. Una matriz es una colección homogénea de valores. Para simplificar, una matriz es una colección de valores del mismo tipo de datos. Es un tipo definido por el usuario.

Características de una matriz

Aquí hay una lista de las características de una matriz:

  • Una declaración de matriz asigna bloques de memoria secuenciales.

  • Las matrices son estáticas. Esto significa que no se puede cambiar el tamaño de una matriz una vez inicializada.

  • Cada bloque de memoria representa un elemento de matriz.

  • Los elementos de la matriz se identifican mediante un número entero único llamado subíndice / índice del elemento.

  • Al igual que las variables, las matrices también deben declararse antes de usarse. Utilice la palabra clave var para declarar una matriz.

  • La inicialización de la matriz se refiere a completar los elementos de la matriz.

  • Los valores de los elementos de la matriz se pueden actualizar o modificar, pero no se pueden eliminar.

Declarar e inicializar matrices

Para declarar una inicialización de una matriz en TypeScript, use la siguiente sintaxis:

Sintaxis

var array_name[:datatype];        //declaration 
array_name = [val1,val2,valn..]   //initialization

Una declaración de matriz sin el tipo de datos se considera del tipo any. El tipo de dicha matriz se infiere del tipo de datos del primer elemento de la matriz durante la inicialización.

Por ejemplo, una declaración como - var numlist:number[] = [2,4,6,8] creará una matriz como se indica a continuación:

El puntero de matriz se refiere al primer elemento de forma predeterminada.

Arrays may be declared and initialized in a single statement. La sintaxis de la misma es:

var array_name[:data type] = [val1,val2…valn]

Note - El par de [] se denomina dimensión de la matriz.

Acceso a elementos de matriz

El nombre de la matriz seguido del subíndice se utiliza para referirse a un elemento de la matriz. Su sintaxis es la siguiente:

array_name[subscript] = value

Ejemplo: matriz simple

var alphas:string[]; 
alphas = ["1","2","3","4"] 
console.log(alphas[0]); 
console.log(alphas[1]);

Al compilar, generará el siguiente código JavaScript:

//Generated by typescript 1.8.10
var alphas;
alphas = ["1", "2", "3", "4"];
console.log(alphas[0]);
console.log(alphas[1]);

La salida del código anterior es la siguiente:

1 
2

Ejemplo: declaración e inicialización de una sola instrucción

var nums:number[] = [1,2,3,3] 
console.log(nums[0]); 
console.log(nums[1]); 
console.log(nums[2]); 
console.log(nums[3]);

Al compilar, generará el siguiente código JavaScript:

//Generated by typescript 1.8.10
var nums = [1, 2, 3, 3];
console.log(nums[0]);
console.log(nums[1]);
console.log(nums[2]);
console.log(nums[3]);

Su salida es la siguiente:

1 
2 
3 
3

Objeto de matriz

También se puede crear una matriz utilizando el objeto Array. Se puede pasar el constructor Array.

  • Un valor numérico que representa el tamaño de la matriz o

  • Una lista de valores separados por comas.

El siguiente ejemplo muestra cómo crear una matriz con este método.

Ejemplo

var arr_names:number[] = new Array(4)  

for(var i = 0;i<arr_names.length;i++) { 
   arr_names[i] = i * 2 
   console.log(arr_names[i]) 
}

Al compilar, generará el siguiente código JavaScript.

//Generated by typescript 1.8.10
var arr_names = new Array(4);

for (var i = 0; i < arr_names.length; i++) {
   arr_names[i] = i * 2;
   console.log(arr_names[i]);
}

Su salida es la siguiente:

0 
2 
4 
6

Ejemplo: Array Constructor acepta valores separados por comas

var names:string[] = new Array("Mary","Tom","Jack","Jill") 

for(var i = 0;i<names.length;i++) { 
   console.log(names[i]) 
}

Al compilar, generará el siguiente código JavaScript:

//Generated by typescript 1.8.10
var names = new Array("Mary", "Tom", "Jack", "Jill");
for (var i = 0; i < names.length; i++) {
   console.log(names[i]);
}

Su salida es la siguiente:

Mary 
Tom 
Jack 
Jill

Métodos de matriz

A continuación se proporciona una lista de los métodos del objeto Array junto con su descripción.

S.No. Método y descripción
1. concat ()

Devuelve una nueva matriz compuesta por esta matriz unida con otra (s) matriz (s) y / o valor (es).

2. cada()

Devuelve verdadero si cada elemento de esta matriz satisface la función de prueba proporcionada.

3. filtrar()

Crea una nueva matriz con todos los elementos de esta matriz para los que la función de filtrado proporcionada devuelve verdadero.

4. para cada()

Llama a una función para cada elemento de la matriz.

5. índice de()

Devuelve el primer (mínimo) índice de un elemento dentro de la matriz igual al valor especificado, o -1 si no se encuentra ninguno.

6. unirse()

Une todos los elementos de una matriz en una cadena.

7. lastIndexOf ()

Devuelve el último índice (mayor) de un elemento dentro de la matriz igual al valor especificado, o -1 si no se encuentra ninguno.

8. mapa()

Crea una nueva matriz con los resultados de llamar a una función proporcionada en cada elemento de esta matriz.

9. popular()

Elimina el último elemento de una matriz y devuelve ese elemento.

10. empujar()

Agrega uno o más elementos al final de una matriz y devuelve la nueva longitud de la matriz.

11. reducir()

Aplique una función simultáneamente contra dos valores de la matriz (de izquierda a derecha) para reducirla a un solo valor.

12. reduceRight ()

Aplique una función simultáneamente contra dos valores de la matriz (de derecha a izquierda) para reducirla a un solo valor.

13. contrarrestar()

Invierte el orden de los elementos de una matriz: el primero se convierte en el último y el último en el primero.

14. cambio()

Elimina el primer elemento de una matriz y devuelve ese elemento.

15. rebanada()

Extrae una sección de una matriz y devuelve una nueva matriz.

dieciséis. algunos()

Devuelve verdadero si al menos un elemento de esta matriz satisface la función de prueba proporcionada.

17. ordenar()

Ordena los elementos de una matriz.

18. empalme()

Agrega y / o elimina elementos de una matriz.

19. Encadenar()

Devuelve una cadena que representa la matriz y sus elementos.

20. unshift ()

Agrega uno o más elementos al frente de una matriz y devuelve la nueva longitud de la matriz.

Desestructuración de matrices

Se refiere a romper la estructura de una entidad. TypeScript admite la desestructuración cuando se usa en el contexto de una matriz.

Ejemplo

var arr:number[] = [12,13] 
var[x,y] = arr 
console.log(x) 
console.log(y)

Al compilar, generará el siguiente código JavaScript.

//Generated by typescript 1.8.10
var arr = [12, 13];
var x = arr[0], y = arr[1];
console.log(x);
console.log(y);

Su salida es la siguiente:

12 
13

Array Traversal usando for ... in loop

Uno puede usar el for…in bucle para atravesar una matriz.

var j:any; 
var nums:number[] = [1001,1002,1003,1004] 

for(j in nums) { 
   console.log(nums[j]) 
}

El bucle realiza un recorrido de matriz basado en índices.

Al compilar, generará el siguiente código JavaScript.

//Generated by typescript 1.8.10
var j;
var nums = [1001, 1002, 1003, 1004];

for (j in nums) {
   console.log(nums[j]);
}

La salida del código anterior se da a continuación:

1001 
1002 
1003 
1004

Matrices en TypeScript

TypeScript admite los siguientes conceptos en matrices:

S.No. Concepto y descripción
1. Matrices multidimensionales

TypeScript admite matrices multidimensionales. La forma más simple de la matriz multidimensional es la matriz bidimensional.

2. Pasar matrices a funciones

Puede pasar a la función un puntero a una matriz especificando el nombre de la matriz sin un índice.

3. Devolver matriz de funciones

Permite que una función devuelva una matriz.