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. |