Typescript тип данных array

TypeScript — Arrays

An array is a special type of data type which can store multiple values of different data types sequentially using a special syntax.

TypeScript supports arrays, similar to JavaScript. There are two ways to declare an array:

1. Using square brackets. This method is similar to how you would declare arrays in JavaScript.

let fruits: string[] = [‘Apple’, ‘Orange’, ‘Banana’];

2. Using a generic array type, Array.

let fruits: Array = [‘Apple’, ‘Orange’, ‘Banana’];

Both methods produce the same output.

Of course, you can always initialize an array like shown below, but you will not get the advantage of TypeScript’s type system.

let arr = [1, 3, ‘Apple’, ‘Orange’, ‘Banana’, true, false];

Arrays can contain elements of any data type, numbers, strings, or even objects.

Arrays can be declared and initialized separately.

let fruits: Arraystring>; fruits = ['Apple', 'Orange', 'Banana']; let ids: Arraynumber>; ids = [23, 34, 100, 124, 44]; 

An array in TypeScript can contain elements of different data types using a generic array type syntax, as shown below.

let values: (string | number)[] = ['Apple', 2, 'Orange', 3, 4, 'Banana']; // or let values: Arraystring | number> = ['Apple', 2, 'Orange', 3, 4, 'Banana']; 

Accessing Array Elements:

The array elements can be accessed using the index of an element e.g. ArrayName[index] . The array index starts from zero, so the index of the first element is zero, the index of the second element is one and so on.

let fruits: string[] = ['Apple', 'Orange', 'Banana']; fruits[0]; // returns Apple fruits[1]; // returns Orange fruits[2]; // returns Banana fruits[3]; // returns undefined 

Use the for loop to access array elements as shown below.

let fruits: string[] = ['Apple', 'Orange', 'Banana']; for(var index in fruits) < console.log(fruits[index]); // output: Apple Orange Banana > for(var i = 0; i < fruits.length; i++) < console.log(fruits[i]); // output: Apple Orange Banana > 

TypeScript Array Methods

The following table lists all Array methods which can be used for different purposes.

Method Description
pop() Removes the last element of the array and return that element
push() Adds new elements to the array and returns the new array length
sort() Sorts all the elements of the array
concat() Joins two arrays and returns the combined result
indexOf() Returns the index of the first match of a value in the array (-1 if not found)
copyWithin() Copies a sequence of elements within the array
fill() Fills the array with a static value from the provided start index to the end index
shift() Removes and returns the first element of the array
splice() Adds or removes elements from the array
unshift() Adds one or more elements to the beginning of the array
includes() Checks whether the array contains a certain element
join() Joins all elements of the array into a string
lastIndexOf() Returns the last index of an element in the array
slice() Extracts a section of the array and returns the new array
toString() Returns a string representation of the array
toLocaleString() Returns a localized string representing the array

The following example demonstrates some of the array methods.

var fruits: Arraystring> = ['Apple', 'Orange', 'Banana']; fruits.sort(); console.log(fruits); //output: [ 'Apple', 'Banana', 'Orange' ] console.log(fruits.pop()); //output: Orange fruits.push('Papaya'); console.log(fruits); //output: ['Apple', 'Banana', 'Papaya'] fruits = fruits.concat(['Fig', 'Mango']); console.log(fruits); //output: ['Apple', 'Banana', 'Papaya', 'Fig', 'Mango'] console.log(fruits.indexOf('Papaya'));//output: 2 

Источник

Typescript тип данных array

Массивы определяются с помощью выражения [] и также являются строго типизированными. То есть если изначально массив содержит строки, то в будущем он сможет работать только со строками.

let list: number[] = [10, 20, 30]; let colors: string[] = ["red", "green", "blue"]; console.log(list[0]); console.log(colors[1]);

Как и в JavaScript, с помощью индексов можно обращаться к элементам массива.

Альтернативный способ определения массивов представляет применение типа Array<> , где в фигурных скобках указывается тип элементов массива:

let names: Array = ["Tom", "Bob", "Alice"]; console.log(names[1]); // Bob

Но фактически такие формы массивов, как number[] или string[] являются сокращением соответственно типов Array или Array

В остальном массивы в TypeScript поддерживают все те же операции, что и массивы в JavaScript.

ReadonlyArray

Массивы позволяют изменять значения своих элементов:

const people = ["Tom", "Bob", "Sam"]; people[1] = "Kate"; console.log(people[1]); // Kate

Но TypeScript также позволяет определять массивы, элементы которых нельзя изменять. Для этого применяется тип ReadonlyArray<> , для которого в угловых скобках указывается тип элементов массива.

В отличие от типа Array для типа ReadonlyArray мы не можем принимать конструктор, как в следующем случае:

const people: ReadonlyArray = new ReadonlyArray("Tom", "Bob", "Sam");

Вместо этого необходимо передать значения в виде обычного массива:

const people: ReadonlyArray = ["Tom", "Bob", "Sam"];

Для определения подобных массивов также можно использовать сокращение типа — readonly Тип_данных[] :

const people: readonly string[]= ["Tom", "Bob", "Sam"];

Массив ReadonlyArray поддерживаtт большинство тех же операций, что и обычные массивы, за тем исключением операций, которые изменяют массив и его элементы. Так, мы не можем менять отдельные значения:

const people: ReadonlyArray = ["Tom", "Bob", "Sam"]; people[1] = "Kate"; // ! Ошибка элементы массива ReadonlyArray нельзя изменить

Также мы не можем добавлять новые или удалять уже имеющиеся элементы:

const people: ReadonlyArray = ["Tom", "Bob", "Sam"]; people.push("Kate"); // ! Ошибка - нельзя добавить новые элементы people.pop(); // ! Ошибка - нельзя удалить существующие элементы

Более того при компиляции компилятор сообщит нам, что для типа ReadonlyArray не определены методы push() и pop() . Это относится ко всем операциям, которые изменяют массив.

Все остальные операции, которые предусматривают чтение массива, мы по прежнему можем использовать:

function printUsers(users: readonly string[]) < for(const user of users)< console.log(user); >> function usersToString(users: ReadonlyArray): String < return users.join(", "); >const people: readonly string[]= ["Tom", "Bob", "Sam"]; printUsers(people); console.log(usersToString(people));

Декомпозиция массивов

Как и в javascript, массивы поддерживают декомпозицию на константы и переменные. Например:

const people: string[]= ["Tom", "Bob", "Sam"]; const [first, second, third] = people; console.log(first); // Tom console.log(second); // Bob console.log(third); // Sam

Здесь массив people раскладывается на три константы — first, second, third. Значения массива передаются константам/переменным по позиции, то есть первой константе — первый элемент массива, второй константе — второй элемент и так далее. Причем констант/переменных не больше, чем элементов массива.

С помощью оператора . можно указать массив, в который будут помещаться все оставшиеся элементы раскладываемого массива, которые не вошли в предыдущие переменные/константы:

const people: string[]= ["Tom", "Bob", "Sam"]; const [first, . rest] = people; console.log(first); // Tom console.log(rest[0]); // Bob console.log(rest[1]); // Sam

Здесь константа first принимает первый элемент массива — «Tom». Все оставшиеся элементы кортежа будут помещаться в массив rest .

Также можно оставить пустое место вместо переменной/константы, если мы хотим пропустить соответствующий элемент массива:

const people: string[]= ["Tom", "Bob", "Sam", "Kate"]; const [, second, , forth] = people; // пропускаем первый и третий элементы массива console.log(second); // Bob console.log(forth); // Kate

Источник

Читайте также:  Python hashlib sha1 расшифровать
Оцените статью