Ts中string、number和any等类型 不能当做索引用,怎么处理?

简介: Ts中string、number和any等类型 不能当做索引用,怎么处理?

导文

Ts中string、number和any等类型 不能当做索引用,怎么处理?
报错: 元素隐式具有“any”类型,因为类型为“number”的表达式不能用于索引类型“[***”。在类型“[ ***”上找不到具有类型为“number"的参数的索引签名。 ts(7053)
keyof 的使用

问题

Ts中string、number和any等类型 不能当做索引用,怎么处理?

const handerField = (item: number) => {
   caselist= data.showList[item]//报错
}

元素隐式地拥有 any 类型,因为 number类型不能被用于索引 {} 类型。

解决方法

方法1

const handerField = (item: number) => {
   caselist= (data.showList as any)[item];
}

方法2

const handerField = (item: number) => {
   caselist= data.showList [item as keyof typeof data.showList ]
}

方法3

const handerField =  function <T extends object, K extends keyof T>(obj: T, key: K) {
  return obj[key];
}
目录
相关文章
|
1月前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
25 0
|
25天前
|
JavaScript 前端开发
JavaScript 中如何检测一个变量是一个 String 类型?
JavaScript 中如何检测一个变量是一个 String 类型?
21 2
|
3月前
String字符串类型时间比较(根据时间判断返回 ‘已结束’或‘进行中‘’)
String字符串类型时间比较(根据时间判断返回 ‘已结束’或‘进行中‘’)
23 1
|
4月前
|
存储 JavaScript 安全
TypeScript 中的 Number 类型,Number 类型的特性、常见操作和注意事项
TypeScript 中的 Number 类型,Number 类型的特性、常见操作和注意事项
204 1
|
1月前
|
安全 Python
Python系列(16)—— string类型转float类型
Python系列(16)—— string类型转float类型
|
1月前
|
Python
Python系列(15)—— int类型转string类型
Python系列(15)—— int类型转string类型
|
1月前
|
存储
TS 自定义结构Long与number类型相互转换
TS 自定义结构Long与number类型相互转换
|
1月前
|
存储 程序员 C++
在C++语言中string-vector的字符串作用类型
在C++语言中string-vector的字符串作用类型
9 0
|
3月前
|
存储 NoSQL Java
面试题:redis除了使用string、set还了解哪些类型
面试题:redis除了使用string、set还了解哪些类型
15 0
|
3月前
|
存储 程序员 C++
C++ 标准库类型之string
C++ 标准库类型之string
33 0