TypeScript - Arrays
O uso de variáveis para armazenar valores apresenta as seguintes limitações -
As variáveis são escalares por natureza. Em outras palavras, uma declaração de variável pode conter apenas uma de cada vez. Isso significa que, para armazenar n valores em um programa, serão necessárias n declarações de variáveis. Portanto, o uso de variáveis não é viável quando se precisa armazenar uma coleção maior de valores.
As variáveis em um programa são alocadas na memória em ordem aleatória, dificultando a recuperação / leitura dos valores na ordem de sua declaração.
O TypeScript apresenta o conceito de matrizes para lidar com os mesmos. Uma matriz é uma coleção homogênea de valores. Para simplificar, uma matriz é uma coleção de valores do mesmo tipo de dados. É um tipo definido pelo usuário.
Características de um Array
Aqui está uma lista dos recursos de uma matriz -
Uma declaração de array aloca blocos de memória sequencial.
Matrizes são estáticas. Isso significa que uma matriz, uma vez inicializada, não pode ser redimensionada.
Cada bloco de memória representa um elemento do array.
Os elementos da matriz são identificados por um número inteiro exclusivo chamado de subscrito / índice do elemento.
Assim como as variáveis, os arrays também devem ser declarados antes de serem usados. Use a palavra-chave var para declarar um array.
A inicialização do array refere-se ao preenchimento dos elementos do array.
Os valores dos elementos da matriz podem ser atualizados ou modificados, mas não podem ser excluídos.
Declarando e inicializando matrizes
Para declarar a inicialização de uma matriz em Typescript, use a seguinte sintaxe -
Sintaxe
var array_name[:datatype]; //declaration
array_name = [val1,val2,valn..] //initialization
Uma declaração de array sem o tipo de dados é considerada do tipo any. O tipo de tal array é inferido do tipo de dados do primeiro elemento do array durante a inicialização.
Por exemplo, uma declaração como - var numlist:number[] = [2,4,6,8] irá criar uma matriz conforme fornecido abaixo -
O ponteiro da matriz se refere ao primeiro elemento por padrão.
Arrays may be declared and initialized in a single statement. A sintaxe para o mesmo é -
var array_name[:data type] = [val1,val2…valn]
Note - O par de [] é chamado de dimensão da matriz.
Acessando Elementos de Matriz
O nome do array seguido do subscrito é usado para referir-se a um elemento do array. Sua sintaxe é a seguinte -
array_name[subscript] = value
Exemplo: Array Simples
var alphas:string[];
alphas = ["1","2","3","4"]
console.log(alphas[0]);
console.log(alphas[1]);
Na compilação, ele irá gerar o seguinte código JavaScript -
//Generated by typescript 1.8.10
var alphas;
alphas = ["1", "2", "3", "4"];
console.log(alphas[0]);
console.log(alphas[1]);
A saída do código acima é a seguinte -
1
2
Exemplo: declaração de instrução única e inicialização
var nums:number[] = [1,2,3,3]
console.log(nums[0]);
console.log(nums[1]);
console.log(nums[2]);
console.log(nums[3]);
Na compilação, ele irá gerar o seguinte 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]);
Seu resultado é o seguinte -
1
2
3
3
Objeto Array
Uma matriz também pode ser criada usando o objeto Array. O construtor Array pode ser passado.
Um valor numérico que representa o tamanho da matriz ou
Uma lista de valores separados por vírgulas.
O exemplo a seguir mostra como criar uma matriz usando este método.
Exemplo
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])
}
Na compilação, ele irá gerar o seguinte 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]);
}
Seu resultado é o seguinte -
0
2
4
6
Exemplo: Array Constructor aceita valores separados por vírgula
var names:string[] = new Array("Mary","Tom","Jack","Jill")
for(var i = 0;i<names.length;i++) {
console.log(names[i])
}
Na compilação, ele irá gerar o seguinte 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]);
}
Seu resultado é o seguinte -
Mary
Tom
Jack
Jill
Métodos Array
Uma lista dos métodos do objeto Array junto com sua descrição é fornecida abaixo.
S.No. | Método e Descrição |
---|---|
1 | concat () Retorna uma nova matriz composta por esta matriz unida a outra (s) matriz (s) e / ou valor (es). |
2 | cada() Retorna verdadeiro se cada elemento nesta matriz satisfizer a função de teste fornecida. |
3 - | filtro() Cria uma nova matriz com todos os elementos dessa matriz para os quais a função de filtragem fornecida retorna verdadeiro. |
4 | para cada() Chama uma função para cada elemento da matriz. |
5 | índice de() Retorna o primeiro (mínimo) índice de um elemento dentro da matriz igual ao valor especificado, ou -1 se nenhum for encontrado. |
6 | Junte-se() Une todos os elementos de uma matriz em uma string. |
7 | lastIndexOf () Retorna o último (maior) índice de um elemento dentro da matriz igual ao valor especificado, ou -1 se nenhum for encontrado. |
8 | mapa() Cria uma nova matriz com os resultados da chamada de uma função fornecida em cada elemento desta matriz. |
9 | pop () Remove o último elemento de uma matriz e retorna esse elemento. |
10 | empurrar() Adiciona um ou mais elementos ao final de uma matriz e retorna o novo comprimento da matriz. |
11 | reduzir() Aplique uma função simultaneamente contra dois valores da matriz (da esquerda para a direita) para reduzi-la a um único valor. |
12 | reduzirRight () Aplique uma função simultaneamente contra dois valores da matriz (da direita para a esquerda) para reduzi-la a um único valor. |
13 | reverter() Inverte a ordem dos elementos de uma matriz - o primeiro se torna o último e o último se torna o primeiro. |
14 | mudança() Remove o primeiro elemento de uma matriz e retorna esse elemento. |
15 | fatia() Extrai uma seção de uma matriz e retorna uma nova matriz. |
16 | alguns() Retorna verdadeiro se pelo menos um elemento nesta matriz satisfizer a função de teste fornecida. |
17 | ordenar() Classifica os elementos de uma matriz. |
18 | emenda () Adiciona e / ou remove elementos de uma matriz. |
19 | para sequenciar() Retorna uma string que representa a matriz e seus elementos. |
20 | não mudar () Adiciona um ou mais elementos à frente de uma matriz e retorna o novo comprimento da matriz. |
Array Destructuring
Refere-se a quebrar a estrutura de uma entidade. TypeScript oferece suporte à desestruturação quando usado no contexto de uma matriz.
Exemplo
var arr:number[] = [12,13]
var[x,y] = arr
console.log(x)
console.log(y)
Na compilação, ele irá gerar o seguinte 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);
Seu resultado é o seguinte -
12
13
Array Traversal usando for ... em loop
Pode-se usar o for…in loop para percorrer uma matriz.
var j:any;
var nums:number[] = [1001,1002,1003,1004]
for(j in nums) {
console.log(nums[j])
}
O loop executa uma travessia de matriz baseada em índice.
Na compilação, ele irá gerar o seguinte 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]);
}
A saída do código acima é fornecida abaixo -
1001
1002
1003
1004
Arrays em TypeScript
TypeScript suporta os seguintes conceitos em matrizes -
S.No. | Conceito e descrição |
---|---|
1 | Matrizes multidimensionais TypeScript oferece suporte a matrizes multidimensionais. A forma mais simples da matriz multidimensional é a matriz bidimensional. |
2 | Passando matrizes para funções Você pode passar para a função um ponteiro para uma matriz, especificando o nome da matriz sem um índice. |
3 - | Retorna array de funções Permite que uma função retorne um array |