
类型化的字典类。用例子来学习。
在这篇博文中,通过例子学习如何在typescript中迭代一个字典。
Dictionary是一种无序列表数据的数据结构类型,包含键和值。它与typecript中的map类型相同。
字典对象可以用多种方式声明,查看关于在typescript中声明字典的内容。
让我们在typescript中创建一个Dictionary类型接口
interface Dictionary {
[Key: string]: T;
}
用数据初始化Dictionary对象
let emps: Dictionary = {};
emps["name"] = "john";
emps["id"] = "1";
emps["salary"] = "5000";
让我们看看迭代Dictionary对象的多种方法
for-in循环
typescript有多种循环语法来迭代可枚举对象。
一种方法是使用for in 循环来检索字典中的键和值。
for (let key in emps) {
let value = emps[key];
console.log(key + " : " + value)
}
输出
"name : john"
"id : 1"
"salary : 5000"
for-of 循环
另一种方法,使用for-of循环从字典中检索键和值。
for (const key of Object.keys(emps)) {
let value = emps[key];
console.log(key + " : " + value)
}
类似地,你用for of loop语法中的key和value重写上面的内容。
for (let [key, value] of Object.entries(emps)) {
console.log(key + " : " + value)
}
foreach 循环
- 使用 ES6对象有
keys方法,在ES6版本中引入。
configure lib in tsconfig.json Tt make this works in typescript.
"lib": [
"es2016",
"dom"
]
Object.keys 返回字典中的键数组。使用 forEach语法。 迭代键并检索给定键的值。最后,将其打印到控制台。
Object.keys(emps).forEach(key => {
let value = emps[key];
console.log(key + " : " + value)
});
- 在ES7版本中,另一种方法是使用
ES7版本
对象有ES2017版本中引入的entries() 方法。在tsconfig.json中配置lib,使其在typecript中工作。
"lib": [
"es2017",
"dom"
]
Object. entries 返回字典中的键和值对的数组。使用forEach 语法,来迭代键和值。最后,将其打印到控制台。
Object.entries(emps).forEach(
([key, value]) => console.log(key + " : " + value)
);
总结
学习了typescript字典的循环例子,以多种方式获得键和值对象。