TypeScript 元组
我们知道数组中元素的数据类型都一般是相同的(any[] 类型的数组可以不同),如果存储的元素数据类型不同,则需要使用元组。
元组中允许存储不同类型的元素,元组可以作为参数传递给函数。
创建元组的语法格式如下:
var tuple_name = [value1,value2,value3,…value n]
实例
声明一个元组并初始化:
var mytuple = [10,"yssmx"];
或者我们可以先声明一个空元组,然后再初始化:
var mytuple = [];
mytuple[0] = 120
mytuple[1] = 234
访问元组
元组中元素使用索引来访问,第一个元素的索引值为 0,第二个为 1,以此类推第 n 个为 n-1,语法格式如下:
tuple_name[index]
实例
以下实例定义了元组,包含了数字和字符串两种类型的元素:
TypeScript
var
mytuple
=
[
10
,
"
yssmx
"
]
;
console
.
log
(
mytuple
[
]
)
console
.
log
(
mytuple
[
1
]
)
编译以上代码,得到以下 JavaScript 代码:
JavaScript
var
mytuple
=
[
10
,
"
yssmx
"
]
;
console
.
log
(
mytuple
[
]
)
;
console
.
log
(
mytuple
[
1
]
)
;
输出结果为:
10
yssmx
元组运算
我们可以使用以下两个函数向元组添加新元素或者删除元素:
TypeScript
var
mytuple
=
[
10
,
"
Hello
"
,
"
World
"
,
"
typeScript
"
]
;
console
.
log
(
"
添加前元素个数:
"
+
mytuple
.
length
)
mytuple
.
push
(
12
)
console
.
log
(
"
添加后元素个数:
"
+
mytuple
.
length
)
console
.
log
(
"
删除前元素个数:
"
+
mytuple
.
length
)
console
.
log
(
mytuple
.
pop
(
)
+
"
元素从元组中删除
"
)
console
.
log
(
"
删除后元素个数:
"
+
mytuple
.
length
)
编译以上代码,得到以下 JavaScript 代码:
JavaScript
var
mytuple
=
[
10
,
"
Hello
"
,
"
World
"
,
"
typeScript
"
]
;
console
.
log
(
"
添加前元素个数:
"
+
mytuple
.
length
)
;
mytuple
.
push
(
12
)
;
console
.
log
(
"
添加后元素个数:
"
+
mytuple
.
length
)
;
console
.
log
(
"
删除前元素个数:
"
+
mytuple
.
length
)
;
console
.
log
(
mytuple
.
pop
(
)
+
"
元素从元组中删除
"
)
;
console
.
log
(
"
删除后元素个数:
"
+
mytuple
.
length
)
;
输出结果为:
添加前元素个数:4
添加后元素个数:5
删除前元素个数:5
12 元素从元组中删除
删除后元素个数:4
更新元组
元组是可变的,这意味着我们可以对元组进行更新操作:
TypeScript
var
mytuple
=
[
10
,
"
yssmx
"
,
"
Taobao
"
,
"
Google
"
]
;
console
.
log
(
"
元组的第一个元素为:
"
+
mytuple
[
]
)
mytuple
[
]
=
121
console
.
log
(
"
元组中的第一个元素更新为:
"
+
mytuple
[
]
)
编译以上代码,得到以下 JavaScript 代码:
JavaScript
var
mytuple
=
[
10
,
"
yssmx
"
,
"
Taobao
"
,
"
Google
"
]
;
console
.
log
(
"
元组的第一个元素为:
"
+
mytuple
[
]
)
;
mytuple
[
]
=
121
;
console
.
log
(
"
元组中的第一个元素更新为:
"
+
mytuple
[
]
)
;
输出结果为:
元组的第一个元素为:10
元组中的第一个元素更新为:121
解构元组
我们也可以把元组元素赋值给变量,如下所示:
TypeScript
var
a
=
[
10
,
"
yssmx
"
]
var
[
b
,
c
]
=
a
console
.
log
(
b
)
console
.
log
(
c
)
编译以上代码,得到以下 JavaScript 代码:
JavaScript
var
a
=
[
10
,
"
yssmx
"
]
;
var
b
=
a
[
]
,
c
=
a
[
1
]
;
console
.
log
(
b
)
;
console
.
log
(
c
)
;
输出结果为:
10
yssmx