[英]Value in Array is undefined TypeScript
我的 foreach 中有一个数组错误:
function setRowData({ json }: NewType): void {
// foreach key and value in json object
// fill into an object
// add object to array
let tableRows: { id: string; key: string; de: string; it: string; }[] = [];
Object.entries(json).forEach(([key, value]) => tableRows.push({
id: key, key: key, de: value, it: (typeof value === 'string' ? value : "")
}));
setTableData(tableRows);
}
错误出现在内容如下的行: id: key, key: key, de: value, it: (typeof value === 'string'? value: "")
有谁知道为什么我的数组中名为value
的value
变量未定义?
当您使用Object.entries()时,您会提取一个键值元组数组。
在这种情况下,问题是 typescript 无法推断 object 中值的类型,因此它将其键入为unknown
( [string, unknown][]
)。
该错误告诉您不能将unknown
分配给string
。
为了将其输入为string
,您必须在使用Object.entries()
时指定它:
const entries = Object.entries<string>(json);
或者你应该在你的NewType
中指定 json 是一个 object 只有string
作为值(使用打字稿的Record
: Record<string, string>
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.