大家早上好,我的 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未定義?
此外,我發布了它的照片以及發生錯誤的位置:
![陣列中的值未定義 TypeScript [已解決]](https://img.uj5u.com/2022/03/28/1458a1b8307e4687b582d3a3a1e8f072.png)
這個是foreach的描述,為什么陣列中的第二個型別是undefined?
![陣列中的值未定義 TypeScript [已解決]](https://img.uj5u.com/2022/03/28/d9680f1dfd434ca2902ca25d2c1538c3.png)
uj5u.com熱心網友回復:
當您使用![陣列中的值未定義 TypeScript [已解決]](https://img.uj5u.com/2022/03/28/22616a4ba1734ef38e541bab0915a4d6.png)
該錯誤告訴您無法分配unknown給string.
為了將其鍵入,string您必須在使用時指定它Object.entries():
![陣列中的值未定義 TypeScript [已解決]](https://img.uj5u.com/2022/03/28/f209e7d7af3d4b248700221360b684a3.png)
const entries = Object.entries<string>(json);
或者你應該在你的NewType那個json中指定一個只string作為值的物件(使用打字稿的Record:)Record<string, string>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/450797.html
標籤:javascript 数组 打字稿 前锋
