Una matriu és una col·lecció homogènia d'elements de tipus similar que tenen una ubicació de memòria contigua.
Una matriu és un tipus de dades definit per l'usuari.
Una matriu és un tipus d'estructura de dades on emmagatzemem els elements d'un tipus de dades similar. En una matriu, només podem emmagatzemar un conjunt fix d'elements. També el podem utilitzar com a objecte.
La matriu és un emmagatzematge basat en un índex, on el primer element s'emmagatzema a l'índex 0. L'estructura següent ajuda a entendre l'estructura d'una matriu.
Característiques d'una matriu
- Una matriu emmagatzema elements que tenen el mateix tipus de dades.
- Elements de matriu emmagatzemats en ubicacions de memòria contigües.
- L'emmagatzematge d'elements de matriu 2-D es fa fila per fila en una ubicació de memòria contigua.
- El nom de la matriu representa l'adreça de l'element inicial.
- La mida d'una matriu s'ha d'inicialitzar en el moment de la declaració.
- La mida de la matriu ha de ser una expressió constant i no una variable.
- Podem recuperar elements de la matriu especificant el valor d'índex corresponent de l'element.
Avantatge
Optimització del codi: Una matriu ajuda a optimitzar el codi, la qual cosa augmenta la velocitat i el rendiment del programa. Ens permet recuperar o ordenar les dades de la matriu de manera més eficient.
Accés aleatori: Proporciona la possibilitat d'accedir a qualsevol dada d'una matriu en temps constant (independentment de la seva posició i mida). Així, podem obtenir directament qualsevol dada d'una matriu situada en qualsevol posició de l'índex.
Desavantatge
Límit de mida: Una matriu ens permet emmagatzemar només el nombre fix d'elements. Un cop declarada la matriu, no podem modificar-ne la mida. Per tant, si volem inserir més element del declarat, no és possible.
Declaració de matriu
Igual que JavaScript, TypeScript també admet matrius. Hi ha dues maneres de declarar una matriu:
1. Utilitzant claudàtors.
let array_name[:datatype] = [val1,val2,valn..]
Exemple:
let fruits: string[] = ['Apple', 'Orange', 'Banana'];
2. Utilitzant un tipus de matriu genèric.
què fa que un ordinador sigui ràpid
let array_name: Array = [val1,val2,valn..]
Exemple:
let fruits: Array = ['Apple', 'Orange', 'Banana'];
Tipus de la matriu en TypeScript
Hi ha dos tipus de matriu:
- Matriu unidimensional
- Matriu multidimensional
Matriu unidimensional
Una matriu unidimensional és un tipus de matriu lineal, que només conté una fila per emmagatzemar dades. Té un sol conjunt de claudàtors ('[]'). Podem accedir als seus elements mitjançant l'índex de fila o columna.
Sintaxi
let array_name[:datatype];
Inicialització
array_name = [val1,val2,valn..]
Exemple
let arr:number[]; arr = [1, 2, 3, 4] console.log('Array[0]: ' +arr[0]); console.log('Array[1]: ' +arr[1]);
Sortida:
Array[0]: 1 Array[1]: 2
Matriu multidimensional
Una matriu multidimensional és una matriu que conté una o més matrius. A la matriu multidimensional, les dades s'emmagatzemen en un índex basat en files i columnes (també conegut com a forma matricial). Una matriu bidimensional (matriu 2-D) és la forma més senzilla d'una matriu multidimensional.
Sintaxi
let arr_name:datatype[][] = [ [a1,a2,a3], [b1,b2,b3] ];
Inicialització
let arr_name:datatype[initial_array_index][referenced_array_index] = [ [val1,val2,val 3], [v1,v2,v3]];
Exemple
var mArray:number[][] = [[1,2,3],[5,6,7]] ; console.log(mArray[0][0]); console.log(mArray[0][1]); console.log(mArray[0][2]); console.log(); console.log(mArray[1][0]); console.log(mArray[1][1]); console.log(mArray[1][2]);
Sortida:
1 2 3 5 6 7
Objecte matriu
Els objectes de matriu ens permeten emmagatzemar diversos valors en una sola variable. Podem crear una matriu utilitzant l'objecte Array. El constructor Array s'utilitza per passar els arguments següents per a la creació de matrius.
- Un valor numèric que representa la mida d'una matriu o
- Una llista de valors separats per comes.
Sintaxi
let arr_name:datatype[] = new Array(values);
Exemple
//array by using the Array object. let arr:string[] = new Array('JavaTpoint','2200','Java','Abhishek'); for(var i = 0;i <arr.length;i++) { console.log(arr[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> JavaTpoint 2200 Java Abhishek </pre> <h3>Array Traversal by using a for...in loop</h3> <p> <strong>Example</strong> </p> <pre> let i:any; let arr:string[] = ['JavaTpoint', '2300', 'Java', 'Abhishek']; for(i in arr) { console.log(arr[i]) } </pre> <p> <strong>Output:</strong> </p> <pre> JavaTpoint 2300 Java Abhishek </pre> <h3>Passing Arrays to Functions</h3> <p>We can pass arrays to functions by specifying the array name without an index.</p> <p> <strong>Example</strong> </p> <pre> let arr:string[] = new Array('JavaTpoint', '2300', 'Java', 'Abhishek'); //Passing arrays in function function display(arr_values:string[]) { for(let i = 0;i <arr_values.length;i++) { console.log(arr[i]); } calling arrays in function display(arr); < pre> <p> <strong>Output:</strong> </p> <pre> JavaTpoint 2300 Java Abhishek </pre> <hr> <h2>TypeScript Spread operator</h2> <p>The spread operator is used to initialize arrays and objects from another array or object. We can also use it for object de-structuring. It is a part of the ES 6 version.</p> <p> <strong>Example</strong> </p> <pre> let arr1 = [ 1, 2, 3]; let arr2 = [ 4, 5, 6]; //Create new array from existing array let copyArray = [...arr1]; console.log('CopiedArray: ' +copyArray); //Create new array from existing array with more elements let newArray = [...arr1, 7, 8]; console.log('NewArray: ' +newArray); //Create array by merging two arrays let mergedArray = [...arr1, ...arr2]; console.log('MergedArray: ' +mergedArray); </pre> <p> <strong>Output:</strong> </p> <pre> CopiedArray: 1,2,3 NewArray: 1,2,3,7,8 MergedArray: 1,2,3,4,5,6 </pre> <hr> <h2>Array Methods</h2> <p>The list of array methods with their description is given below.</p> <table class="table"> <tr> <th>SN</th> <th>Method</th> <th>Description</th> </tr> <tr> <td>1.</td> <td>concat()</td> <td>It is used to joins two arrays and returns the combined result.</td> </tr> <tr> <td>2.</td> <td>copyWithin()</td> <td>It copies a sequence of an element within the array.</td> </tr> <tr> <td>3.</td> <td>every()</td> <td>It returns true if every element in the array satisfies the provided testing function.</td> </tr> <tr> <td>4.</td> <td>fill()</td> <td>It fills an array with a static value from the specified start to end index.</td> </tr> <tr> <td>5.</td> <td>indexOf()</td> <td>It returns the index of the matching element in the array, otherwise -1.</td> </tr> <tr> <td>6.</td> <td>includes()</td> <td>It is used to check whether the array contains a certain element or not.</td> </tr> <tr> <td>7.</td> <td>Join()</td> <td>It is used to joins all elements of an array into a string.</td> </tr> <tr> <td>8.</td> <td>lastIndexOf()</td> <td>It returns the last index of an element in the array.</td> </tr> <tr> <td>9.</td> <td>Pop()</td> <td>It is used to removes the last elements of the array.</td> </tr> <tr> <td>10.</td> <td>Push()</td> <td>It is used to add new elements to the array.</td> </tr> <tr> <td>11.</td> <td>reverse()</td> <td>It is used to reverse the order of an element in the array.</td> </tr> <tr> <td>12.</td> <td>Shift()</td> <td>It is used to removes and returns the first element of an array.</td> </tr> <tr> <td>13.</td> <td>slice()</td> <td>It returns the section fo an array in the new array.</td> </tr> <tr> <td>14.</td> <td>sort()</td> <td>It is used to sort the elements of an array.</td> </tr> <tr> <td>15.</td> <td>splice()</td> <td>It is used to add or remove the elements from an array.</td> </tr> <tr> <td>16.</td> <td>toString()</td> <td>It returns the string representation of an array.</td> </tr> <tr> <td>17.</td> <td>unshift()</td> <td>It is used to add one or more elements to the beginning of an array.</td> </tr> </table></arr_values.length;i++)></pre></arr.length;i++)>
Array Traversal utilitzant un bucle for...in
Exemple
let i:any; let arr:string[] = ['JavaTpoint', '2300', 'Java', 'Abhishek']; for(i in arr) { console.log(arr[i]) }
Sortida:
JavaTpoint 2300 Java Abhishek
Passant matrius a funcions
Podem passar matrius a funcions especificant el nom de la matriu sense un índex.
Exemple
Powershell comentari multilínia
let arr:string[] = new Array('JavaTpoint', '2300', 'Java', 'Abhishek'); //Passing arrays in function function display(arr_values:string[]) { for(let i = 0;i <arr_values.length;i++) { console.log(arr[i]); } calling arrays in function display(arr); < pre> <p> <strong>Output:</strong> </p> <pre> JavaTpoint 2300 Java Abhishek </pre> <hr> <h2>TypeScript Spread operator</h2> <p>The spread operator is used to initialize arrays and objects from another array or object. We can also use it for object de-structuring. It is a part of the ES 6 version.</p> <p> <strong>Example</strong> </p> <pre> let arr1 = [ 1, 2, 3]; let arr2 = [ 4, 5, 6]; //Create new array from existing array let copyArray = [...arr1]; console.log('CopiedArray: ' +copyArray); //Create new array from existing array with more elements let newArray = [...arr1, 7, 8]; console.log('NewArray: ' +newArray); //Create array by merging two arrays let mergedArray = [...arr1, ...arr2]; console.log('MergedArray: ' +mergedArray); </pre> <p> <strong>Output:</strong> </p> <pre> CopiedArray: 1,2,3 NewArray: 1,2,3,7,8 MergedArray: 1,2,3,4,5,6 </pre> <hr> <h2>Array Methods</h2> <p>The list of array methods with their description is given below.</p> <table class="table"> <tr> <th>SN</th> <th>Method</th> <th>Description</th> </tr> <tr> <td>1.</td> <td>concat()</td> <td>It is used to joins two arrays and returns the combined result.</td> </tr> <tr> <td>2.</td> <td>copyWithin()</td> <td>It copies a sequence of an element within the array.</td> </tr> <tr> <td>3.</td> <td>every()</td> <td>It returns true if every element in the array satisfies the provided testing function.</td> </tr> <tr> <td>4.</td> <td>fill()</td> <td>It fills an array with a static value from the specified start to end index.</td> </tr> <tr> <td>5.</td> <td>indexOf()</td> <td>It returns the index of the matching element in the array, otherwise -1.</td> </tr> <tr> <td>6.</td> <td>includes()</td> <td>It is used to check whether the array contains a certain element or not.</td> </tr> <tr> <td>7.</td> <td>Join()</td> <td>It is used to joins all elements of an array into a string.</td> </tr> <tr> <td>8.</td> <td>lastIndexOf()</td> <td>It returns the last index of an element in the array.</td> </tr> <tr> <td>9.</td> <td>Pop()</td> <td>It is used to removes the last elements of the array.</td> </tr> <tr> <td>10.</td> <td>Push()</td> <td>It is used to add new elements to the array.</td> </tr> <tr> <td>11.</td> <td>reverse()</td> <td>It is used to reverse the order of an element in the array.</td> </tr> <tr> <td>12.</td> <td>Shift()</td> <td>It is used to removes and returns the first element of an array.</td> </tr> <tr> <td>13.</td> <td>slice()</td> <td>It returns the section fo an array in the new array.</td> </tr> <tr> <td>14.</td> <td>sort()</td> <td>It is used to sort the elements of an array.</td> </tr> <tr> <td>15.</td> <td>splice()</td> <td>It is used to add or remove the elements from an array.</td> </tr> <tr> <td>16.</td> <td>toString()</td> <td>It returns the string representation of an array.</td> </tr> <tr> <td>17.</td> <td>unshift()</td> <td>It is used to add one or more elements to the beginning of an array.</td> </tr> </table></arr_values.length;i++)>
Operador de propagació de TypeScript
L'operador de propagació s'utilitza per inicialitzar matrius i objectes d'una altra matriu o objecte. També el podem utilitzar per a la desestructuració d'objectes. Forma part de la versió ES 6.
Exemple
let arr1 = [ 1, 2, 3]; let arr2 = [ 4, 5, 6]; //Create new array from existing array let copyArray = [...arr1]; console.log('CopiedArray: ' +copyArray); //Create new array from existing array with more elements let newArray = [...arr1, 7, 8]; console.log('NewArray: ' +newArray); //Create array by merging two arrays let mergedArray = [...arr1, ...arr2]; console.log('MergedArray: ' +mergedArray);
Sortida:
CopiedArray: 1,2,3 NewArray: 1,2,3,7,8 MergedArray: 1,2,3,4,5,6
Mètodes de matriu
A continuació es mostra la llista de mètodes de matriu amb la seva descripció.
SN | Mètode | Descripció |
---|---|---|
1. | concat() | S'utilitza per unir dues matrius i retorna el resultat combinat. |
2. | copyWithin() | Copia una seqüència d'un element dins de la matriu. |
3. | cada() | Retorna true si tots els elements de la matriu compleixen la funció de prova proporcionada. |
4. | omplir () | Omple una matriu amb un valor estàtic des de l'índex d'inici fins al final especificat. |
5. | índex de() | Retorna l'índex de l'element coincident a la matriu, en cas contrari -1. |
6. | inclou () | S'utilitza per comprovar si la matriu conté un element determinat o no. |
7. | Uniu-vos () | S'utilitza per unir tots els elements d'una matriu en una cadena. |
8. | lastIndexOf() | Retorna l'últim índex d'un element de la matriu. |
9. | Pop() | S'utilitza per eliminar els últims elements de la matriu. |
10. | Prem () | S'utilitza per afegir nous elements a la matriu. |
11. | revés () | S'utilitza per invertir l'ordre d'un element de la matriu. |
12. | Maj () | S'utilitza per eliminar i retornar el primer element d'una matriu. |
13. | llesca () | Retorna la secció d'una matriu a la nova matriu. |
14. | ordenar () | S'utilitza per ordenar els elements d'una matriu. |
15. | empalmament () | S'utilitza per afegir o eliminar elements d'una matriu. |
16. | toString() | Retorna la representació de cadena d'una matriu. |
17. | unshift() | S'utilitza per afegir un o més elements al començament d'una matriu. |