Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用记录<;琴键,弦>;作为TypeScript中字典的索引_Typescript - Fatal编程技术网

无法使用记录<;琴键,弦>;作为TypeScript中字典的索引

无法使用记录<;琴键,弦>;作为TypeScript中字典的索引,typescript,Typescript,我有以下界面: interface Car { color?: string; model?: string; } 我想创建一个方法,用于接收该字典的键并检索值: function retrieveValue(car: Car, key: Record<keyof Car, string>) { return car[key]; } 功能检索值(车:车,钥匙:记录){ 返回车[钥匙]; } 它在返回行失败: 类型“记录”不能用作索引类型。ts(2538)

我有以下界面:

interface Car {
    color?: string;
    model?: string;
}
我想创建一个方法,用于接收该字典的键并检索值:

function retrieveValue(car: Car, key: Record<keyof Car, string>) {
    return car[key];
}
功能检索值(车:车,钥匙:记录){
返回车[钥匙];
}
它在
返回
行失败:

类型“记录”不能用作索引类型。ts(2538)


对我来说,理解我的错误在哪里不是很直观。

您不需要使用
记录
语法。相反,您可以简单地使用以下方法:

function retrieveValue(car: Car, key: keyof Car) {
    return car[key];
}

您不需要使用
记录
语法。相反,您可以简单地使用以下方法:

function retrieveValue(car: Car, key: keyof Car) {
    return car[key];
}

我想你在找的是
keyof
而不是
Record

function retrieveValue(car: Car, key: keyof Car) {
    return car[key];
}

Record
有。

我想你是在找
keyof
而不是
Record

function retrieveValue(car: Car, key: keyof Car) {
    return car[key];
}
记录
执行