Pole je homogenní sbírka prvků podobného typu, které mají souvislou paměťovou pozici.
Pole je uživatelsky definovaný datový typ.
Pole je typ datové struktury, kde ukládáme prvky podobného datového typu. V poli můžeme uložit pouze pevnou množinu prvků. Můžeme ho použít i jako předmět.
Pole je úložiště založené na indexu, kde je první prvek uložen na indexu 0. Níže uvedená struktura pomáhá porozumět struktuře pole.
Charakteristika pole
- Pole ukládá prvky, které mají stejný datový typ.
- Prvky pole uložené v souvislých paměťových místech.
- Ukládání prvků 2-D pole je řazeno po řádcích v souvislém paměťovém místě.
- Název pole představuje adresu počátečního prvku.
- Velikost pole by měla být inicializována při deklaraci.
- Velikost pole by měla být konstantní výraz, nikoli proměnná.
- Prvky pole můžeme načíst zadáním odpovídající hodnoty indexu prvku.
Výhoda
Optimalizace kódu: Pole pomáhá optimalizovat kód, což zvyšuje rychlost a výkon programu. Umožňuje nám efektivněji získávat nebo třídit data pole.
Náhodný přístup: Poskytuje možnost přístupu k jakýmkoli datům pole v konstantním čase (nezávisle na jeho poloze a velikosti). Můžeme tedy přímo získat jakákoli data pole umístěného na libovolné pozici indexu.
Nevýhoda
Limit velikosti: Pole nám umožňuje uložit pouze pevný počet prvků. Jakmile je pole deklarováno, nemůžeme změnit jeho velikost. Pokud tedy chceme vložit více prvků, než je deklarováno, není to možné.
Prohlášení pole
Stejně jako JavaScript i TypeScript podporuje pole. Existují dva způsoby, jak deklarovat pole:
1. Pomocí hranatých závorek.
let array_name[:datatype] = [val1,val2,valn..]
Příklad:
let fruits: string[] = ['Apple', 'Orange', 'Banana'];
2. Použití generického typu pole.
příklady automatů dfa
let array_name: Array = [val1,val2,valn..]
Příklad:
let fruits: Array = ['Apple', 'Orange', 'Banana'];
Typy pole v TypeScript
Existují dva typy pole:
- Jednorozměrné pole
- Vícerozměrné pole
Jednorozměrné pole
Jednorozměrné pole je typ lineárního pole, které obsahuje pouze jeden řádek pro ukládání dat. Má jednu sadu hranatých závorek ('[]'). K jeho prvkům můžeme přistupovat buď pomocí řádkového nebo sloupcového indexu.
Syntax
let array_name[:datatype];
Inicializace
array_name = [val1,val2,valn..]
Příklad
let arr:number[]; arr = [1, 2, 3, 4] console.log('Array[0]: ' +arr[0]); console.log('Array[1]: ' +arr[1]);
Výstup:
Array[0]: 1 Array[1]: 2
Vícerozměrné pole
Vícerozměrné pole je pole, které obsahuje jedno nebo více polí. Ve vícerozměrném poli jsou data uložena v řádkovém a sloupcovém indexu (známém také jako maticová forma). Dvourozměrné pole (2-D pole) je nejjednodušší formou vícerozměrného pole.
Syntax
let arr_name:datatype[][] = [ [a1,a2,a3], [b1,b2,b3] ];
Inicializace
let arr_name:datatype[initial_array_index][referenced_array_index] = [ [val1,val2,val 3], [v1,v2,v3]];
Příklad
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]);
Výstup:
1 2 3 5 6 7
Objekt pole
Array objekty nám umožňují uložit více hodnot do jedné proměnné. Pole můžeme vytvořit pomocí objektu Array. Konstruktor Array se používá k předání následujících argumentů pro vytvoření pole.
- Číselná hodnota, která představuje velikost pole nebo
- Seznam hodnot oddělených čárkou.
Syntax
let arr_name:datatype[] = new Array(values);
Příklad
//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++)>
Pole Traversal pomocí smyčky for...in
Příklad
let i:any; let arr:string[] = ['JavaTpoint', '2300', 'Java', 'Abhishek']; for(i in arr) { console.log(arr[i]) }
Výstup:
JavaTpoint 2300 Java Abhishek
Předávání polí funkcím
Pole můžeme funkcím předat zadáním názvu pole bez indexu.
Příklad
formát řetězce v jazyce Java
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++)>
Operátor TypeScript Spread
Operátor spread se používá k inicializaci polí a objektů z jiného pole nebo objektu. Můžeme jej také použít pro destrukturalizaci objektů. Je součástí verze ES 6.
Příklad
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);
Výstup:
CopiedArray: 1,2,3 NewArray: 1,2,3,7,8 MergedArray: 1,2,3,4,5,6
Metody pole
Seznam metod pole s jejich popisem je uveden níže.
SN | Metoda | Popis |
---|---|---|
1. | spojit() | Používá se ke spojení dvou polí a vrací kombinovaný výsledek. |
2. | copyWithin() | Kopíruje sekvenci prvku v poli. |
3. | každý() | Vrací hodnotu true, pokud každý prvek v poli vyhovuje zadané testovací funkci. |
4. | vyplnit() | Vyplní pole statickou hodnotou od zadaného počátečního do koncového indexu. |
5. | indexOf() | Vrací index odpovídajícího prvku v poli, jinak -1. |
6. | zahrnuje() | Používá se ke kontrole, zda pole obsahuje určitý prvek nebo ne. |
7. | Připojit se() | Používá se ke spojení všech prvků pole do řetězce. |
8. | lastIndexOf() | Vrací poslední index prvku v poli. |
9. | Pop() | Používá se k odstranění posledních prvků pole. |
10. | TAM() | Používá se k přidávání nových prvků do pole. |
jedenáct. | zvrátit() | Používá se k obrácení pořadí prvku v poli. |
12. | Posun() | Používá se k odstranění a vrácení prvního prvku pole. |
13. | plátek() | Vrátí sekci pro pole v novém poli. |
14. | seřadit () | Používá se k řazení prvků pole. |
patnáct. | spoj () | Používá se k přidání nebo odebrání prvků z pole. |
16. | toString() | Vrací řetězcovou reprezentaci pole. |
17. | unshift() | Používá se k přidání jednoho nebo více prvků na začátek pole. |