我正在尝试创建一个自定义挂钩以响应以返回基于两个参数的排序数组:列表本身和带有我要排序的键的字符串。在询问如何解决之前尝试了几种策略,很多时间都在诅咒 TS,但仍然相信它有一个我没有看到的简单解决方案。
钩子:
type Item = {
[key: string]: number | string,
}
function useSortList(list: Item[], key: string) {
return list.sort((a: object, b: object) => a[key] > b[key] ? 1 : -1) || list;
}
export default useSortList;
a[key] > b[key]我收到此错误:
元素隐式具有“任何”类型,因为类型“字符串”的表达式不能用于索引类型“{}”。在类型“{}”上找不到参数类型为“字符串”的索引签名.ts(7053)
即:我作为列表传递了一个简单的电影对象数组,并尝试按“标题”对其进行排序。
我怎样才能输入这个排序参数,以便我可以将它用于任何对象数组?
干杯!
慕桂英4014372
相关分类