在typescript中迭代字典的多种方法 |字典循环实例

1,378 阅读2分钟

Typescript  Dictionary

类型化的字典类。用例子来学习。

在这篇博文中,通过例子学习如何在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字典的循环例子,以多种方式获得键和值对象。