Как определить массив различных универсальных типов в TypeScript?
В машинописном тексте массив — это тип данных, который может последовательно хранить несколько значений разных типов данных. Подобно JavaScript, Typescript поддерживает объявление массива, и есть несколько способов сделать это.
Объявление и инициализация массивов:
- Мы можем использовать var или let для объявления массива.
- Разница в том, что var используется, если мы хотим, чтобы переменная отражалась/реализовывалась во всей программе и позволяла для определенного блока.
- Ниже приведен синтаксис
Способ 1: Объявление и инициализация в отдельной строке. Здесь мы объявляем массив и инициализируем его в отдельных строках, как в примере, приведенном ниже. Часто он используется для создания более чистого и читаемого кода. Мы используем квадратную скобку, если мы уже знаем тип массива, и скобки со стрелкой, если мы используем универсальный (не ограничивается одним типом данных).
var Arrayname[:datatype]; // Declaration
Arrayname = [val1,val2,val3,valn..] // Initialization
Здесь мы объявляем массив цифр с общим типом, числом, поэтому первая цифра 23 указывает тип массива (число). Если мы не объявляем тип массива, он классифицируется как любой.
Javascript
var fruits: Array<string>;fruits = ["Kiwi", "Plums", "Peaches","Apples","Lime","Cherries"];var Digits: Array<number>;Digits = [23, 34, 100, 124,]; |
Способ 2: объявление и инициализация в одной строке: альтернатива объявлению и инициализации массива в одной строке.
Пример:
Javascript
/* First method of usual array withsquare brackets and second method ofgeneric arrays for examples fruitsand Digits */var fruits: string[] = ["Kiwi", "Plums", "Peaches", "Apples", "Lime", "Cherries"];var fruits: Array < String >= ["Kiwi", "Plums", "Peaches", "Apples", "Lime", "Cherries"];var Digits: number[] = [23, 34, 100, 124];var Digits: Array < number >= [23, 34, 100, 124] |
Обратите внимание, что разница между первым и вторым методами заключается исключительно в более чистом коде.
Объявление массива MultiType: типы разделяются символом «|» для каждого типа и каждый соответствует предыдущему элементу. В приведенном ниже примере столицы стран объединены в пары (Таиланд для Бангкока, Нью-Дели для Индии), а во втором примере у нас нет строки для числа 5, что означает, что оно независимо и занимает место только как и другие элементы.
Javascript
/* In the first example we"re associatingstring with string and second examplevivek has 2 values 3 and 5, as we can havemultiple values */var Capital: (string | string)[] = ["USA", "Washington D.C.", "United Kingdom", "London", "India", "New Delhi", "Thailand", "Bangkok"];// orvar Employees: Array < string | number > = ["Atul", 1, "Vivek", 3, 5, "Sania", 8]; |
Доступ к элементам массива:
Метод 1: доступ к индексу (прямой доступ): прямой доступ возможен, когда мы знаем индекс и размер массива. В приведенном выше примере мы знаем, что «Темный» занимает 1 индекс, поэтому мы «Шоколад» [1], он возвращает белый. Однако это утомительно, если длина массива слишком велика, поэтому мы используем второй метод (зацикливание).
Javascript
var Chocolates: string[] = ["White", "Dark", "SemiSweet", "BitterSweet"];Chocolates[0]; // Returns WhiteChocolates[1]; // Returns DarkChocolates[2]; // Returns SemiSweetChocolates[3]; // Returns BitterSweetChcoloates[4]; // Returns undefined |
Способ 2. Использование цикла. При большом размере массива вместо прямого доступа можно использовать цикл, чтобы уменьшить количество строк кода и сделать его более чистым. В приведенном ниже примере мы используем цикл for для анализа массива городов и выводим его соответствующим образом.
В качестве альтернативы, если мы не знаем размер массива, мы используем «внутри» массива, чтобы напечатать то же самое.
Javascript
// Using loop for the given arraylet Cities: string[] = ["Pune", "Mumbai", "Nagpur"];for (var i = 0; i < Cities.length; i++) { // Output: Pune Mumbai Nagpur console.log(Cities[i]);}for (var i in Cities) { // Output: Pune Mumbai Nagpur console.log(Cities[i]);} |