是键,值对可在typescript?如果是,怎么做。任何人都可以提供示例链接。


当前回答

是键值对可在Typescript?

如果你想到一个c# KeyValuePair<string, string>:不,但你可以很容易地自己定义一个:

interface KeyValuePair {
    key: string;
    value: string;
}

用法:

let foo: KeyValuePair = { key: "k", value: "val" };

其他回答

是键值对可在Typescript?

是的。称为索引签名:

interface Foo {
   [key: string]: number;
}


let foo:Foo = {};
foo['hello'] = 123;
foo = {
  'leet': 1337
};
console.log(foo['leet']); // 1337

这里键是字符串,值是数字。

More

你可以使用es6 Map来处理合适的字典,由core-js填充。

你也可以考虑使用Record,像这样:

const someArray: Record<string, string>[] = [
    {'first': 'one'},
    {'second': 'two'}
];

或者这样写:

const someArray: {key: string, value: string}[] = [
    {key: 'first', value: 'one'},
    {key: 'second', value: 'two'}
];

也可以简单地使用Record

type Foo = Record<string, number>

在文档中进一步使用

键值对的一个例子是:

[key:字符串]:字符串

当然,你可以把任何东西作为值

另一种简单的方法是使用元组:

// Declare a tuple type
let x: [string, number];
// Initialize it
x = ["hello", 10];
// Access elements
console.log("First: " + x["0"] + " Second: " + x["1"]);

输出:

第一个:你好,第二个:10