TypeScript - кортежи

Иногда может возникнуть необходимость хранить коллекцию значений различных типов. Массивы для этой цели не годятся. TypeScript предоставляет нам тип данных, называемый кортежем, который помогает достичь этой цели.

Он представляет собой разнородный набор ценностей. Другими словами, кортежи позволяют хранить несколько полей разных типов. Кортежи также можно передавать в качестве параметров функциям.

Синтаксис

var tuple_name = [value1,value2,value3,…value n]

Например

var mytuple = [10,"Hello"];

Вы также можете объявить пустой кортеж в Typescript и выбрать его инициализацию позже.

var mytuple = []; 
mytuple[0] = 120 
mytuple[1] = 234

Доступ к значениям в кортежах

Значения кортежа индивидуально называются элементами. Кортежи основаны на индексах. Это означает, что к элементам в кортеже можно получить доступ, используя их соответствующий числовой индекс. Индекс элемента кортежа начинается с нуля и продолжается до n-1 (где n - размер кортежа).

Синтаксис

tuple_name[index]

Пример: простой кортеж

var mytuple = [10,"Hello"]; //create a  tuple 
console.log(mytuple[0]) 
console.log(mytuple[1])

В приведенном выше примере кортеж, mytuple, объявляется. Кортеж содержит значения числового и строкового типов соответственно.

При компиляции он сгенерирует тот же код в JavaScript.

Его вывод выглядит следующим образом -

10 
Hello

Пример: пустой кортеж

var tup = [] 
tup[0] = 12 
tup[1] = 23 

console.log(tup[0]) 
console.log(tup[1])

При компиляции он сгенерирует тот же код в JavaScript.

Его вывод выглядит следующим образом -

12 
23

Кортежные операции

Кортежи в TypeScript поддерживают различные операции, такие как нажатие нового элемента, удаление элемента из кортежа и т. Д.

пример

var mytuple = [10,"Hello","World","typeScript"]; 
console.log("Items before push "+mytuple.length)    // returns the tuple size 

mytuple.push(12)                                    // append value to the tuple 
console.log("Items after push "+mytuple.length) 
console.log("Items before pop "+mytuple.length) 
console.log(mytuple.pop()+" popped from the tuple") // removes and returns the last item
  
console.log("Items after pop "+mytuple.length)
  • Push () добавляет элемент в кортеж

  • Pop () удаляет и возвращает последнее значение в кортеже.

При компиляции он сгенерирует тот же код в JavaScript.

Вывод приведенного выше кода выглядит следующим образом:

Items before push 4 
Items after push 5 
Items before pop 5 
12 popped from the tuple 
Items after pop 4

Обновление кортежей

Кортежи являются изменяемыми, что означает, что вы можете обновлять или изменять значения элементов кортежа.

пример

var mytuple = [10,"Hello","World","typeScript"]; //create a  tuple 
console.log("Tuple value at index 0 "+mytuple[0]) 

//update a tuple element 
mytuple[0] = 121     
console.log("Tuple value at index 0 changed to   "+mytuple[0])

При компиляции он сгенерирует тот же код в JavaScript.

Вывод приведенного выше кода выглядит следующим образом:

Tuple value at index 0 10 
Tuple value at index 0 changed to 121

Разрушение кортежа

Разрушение относится к разрушению структуры объекта. TypeScript поддерживает деструктуризацию при использовании в контексте кортежа.

пример

var a =[10,"hello"] 
var [b,c] = a 
console.log( b )    
console.log( c )

При компиляции он сгенерирует следующий код JavaScript.

//Generated by typescript 1.8.10
var a = [10, "hello"];
var b = a[0], c = a[1];
console.log(b);
console.log(c);

Его вывод выглядит следующим образом -

10 
hello