javascript - 元素隐式具有“任何”类型,因为“任何”类型的表达式不能用于索引类型
问题描述
我遇到了许多其他有类似错误的问题,但看不出我的代码有什么问题。你能确定如何修复ts(7053)
错误。
我收到的完整错误是
Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ card: number; dialog: number; navigation: number; layer: number; blanket: number; modal: number; flag: number; spotlight: number; tooltip: number; }'.
代码是
const zIndexToName: Record<number, string> = Object.keys(layerIndex).reduce(
(acc: Record<number, string>, name: string) => {
const value: number = layerIndex[name]();
acc[value] = name;
return acc;
},
{}
);
而,layerIndex
是
export const layerIndex = {
card: 100,
dialog: 300,
navigation: 200,
layer: 400,
blanket: 500,
modal: 510,
flag: 600,
spotlight: 700,
tooltip: 800
};
我可以全部切换string
到any
但得到相同的错误,Element implicitly has an 'any' type because expression of type 'any' can't be used to index type
const zIndexToName: Record<number, any> = Object.keys(layerIndex).reduce(
(acc: Record<number, any>, name: any) => {
const value: number = layerIndex[name]();
acc[value] = name;
return acc;
},
{}
);
解决方案
您缺少layerIndex
.
export const layerIndex: { [key: string]: number }
我想对号码的函数调用是一个错误。它应该是
const value: number = layerIndex[name];
推荐阅读
- python - 数据框有一列作为字典。如何将其转换为列?
- javascript - 克隆表单,每一个添加新的
- arrays - 在 Smartsheet API 中为 DeleteRows() 方法初始化 long[]
- haskell - 避免在 Haskell 中重复实例声明
- reactjs - 组件重新渲染后无法使用 useState 挂钩更新 varaibale
- powershell - Powershell Rename-Item:路径中的非法字符
- python - 计划的爬虫(基于无头硒)运行后的僵尸火狐和 geckodriver 进程
- javascript - 连接MongoDB时的认证错误
- java - 初始化 JavaFX 运行时的 Oracle DataModeler 问题
- java - 我怎样才能使选择升序和降序问题的错误证明?