TypeScript Map 对象和TypeScript 元组

目录

一、TypeScript Map 对象

1.Map 对象的简单使用

2.Map 相关方法与属性

3.Map 方法与属性的简单使用

4.Map 的迭代

二、TypeScript 元组

1.TypeScript 元组声明和简单使用

2.TypeScript 元组解构


一、TypeScript Map 对象

1.Map 对象的简单使用

Map 对象保存键值对,能够记住键的原始插入顺序。任何对象或者原始值 都可以作为一个键或一个值。

let oneMap = new Map([
    ["key1", "value1"],
    ["key2", "value2"]
]);
console.log(oneMap) //Map(2) { 'key1' => 'value1', 'key2' => 'value2' }

2.Map 相关方法与属性

方法/属性 描述
map.size 返回 Map 对象键/值对的数量。
map.keys() 返回一个Iterator对象, 包含了 Map 对象中每个元素的键
map.values() 返回一个Iterator对象,包含了Map对象中每个元素的值 
map.clear() 移除 Map 对象的所有键/值对 。
map.set() 设置键值对,返回该 Map 对象。
map.get() 返回键对应的值,如果不存在,则返回 undefined。
map.has() 返回一个布尔值,用于判断 Map 中是否包含键对应的值
map.delete() 删除 Map 中的元素,删除成功返回 true,失败返回 false。

3.Map 方法与属性的简单使用

console.log(oneMap.size)  //2
console.log(oneMap.keys())  //[Map Iterator] { 'key1', 'key2' }
console.log(oneMap.values()) //[Map Iterator] { 'value1', 'value2' }
oneMap.set("key3", "value3");
console.log(oneMap) //Map(3) { 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3' }
console.log(oneMap.get("key1")) //value1
console.log(oneMap.get("key4")) //undefined
console.log(oneMap.has("key1")) //true
console.log(oneMap.has("key4")) //false
console.log(oneMap.delete("key1")) //true
console.log(oneMap) //Map(2) { 'key2' => 'value2', 'key3' => 'value3' }
console.log(oneMap.delete("key4")) //false
console.log(oneMap) //Map(2) { 'key2' => 'value2', 'key3' => 'value3' }
oneMap.clear()
console.log(oneMap)//Map(0) {}

4.Map 的迭代

Map 的迭代使用 for...of

let twoMap = new Map([
    ["key1", "value1"],
    ["key2", "value2"]
]);
for (let key of twoMap.keys()) {
    console.log(key);                  
}
// key1
// key2
for (let value of twoMap.values()) {
    console.log(value);                 
}
// value1
// value2
for (let entry of twoMap.entries()) {
    console.log(entry[0], entry[1]);   
}
// key1 value1
// key2 value2
for (let [key, value] of twoMap) {
    console.log(key, value);            
}
// key1 value1
// key2 value2

二、TypeScript 元组

1.TypeScript 元组声明和简单使用

数组中元素的数据类型都一般是相同的(any[] 类型的数组可不同),如果存储的元素数据类型不同,可以使用元组。元组中允许存储不同类型的元素,元组可以作为参数传递给函数。

所以显而易见的事数组中的方法和属性也适用于元组。

let yzArr: [string, number] = ["1",1];
let yzArr2: [string, number] = ["1",1];
console.log(yzArr.concat(yzArr2)) 
console.log(yzArr.push("3")) 
console.log(yzArr) 
// [ '1', 1, '1', 1 ]
// 3
// [ '1', 1, '3' ]

2.TypeScript 元组解构

可以把元组元素赋值给变量

let [x,y] = yzArr 
console.log(x)    
console.log(y)
// "1"
// 1

有问题可以在下面评论,我会为大家解答。

猜你喜欢

转载自blog.csdn.net/samxiaoguai/article/details/128390123
今日推荐