javascript - 如何在打字稿的函数参数中添加默认值?
问题描述
我试图在我的函数中添加最后一个类型,但打字稿抱怨我做什么。我知道有办法解决它,需要你的帮助。
export const getPropertiesArray = <T extends object, K extends keyof T>(data: T[], property: K) => {
return data.map(item => item[property]).sort();
};
这是我的函数,我需要添加一个默认值property
,在这种情况下,默认值为“ID”。
解决方案
传递默认“ID”不可分配给object
.
实际上,您应该假设 ID 始终是您的对象的键。
这是一种解决方法:
// T extends { ID: any } - You may replace any by your ID type
export const getPropertiesArray = <T extends { ID: any }>(data: T[], property: keyof T = "ID") => {
return data.map(item => item[property]).sort();
};
推荐阅读
- symfony - Symfony 4 服务别名
- google-apps-script - 如何在活动目录中创建文件
- oracle - 有没有办法丢弃oracle数据库中的图像文件?
- java - URI 不是分层的。如何使用 getResourceAsStream 获取文件路径
- python - Pywinauto TypeError:start()缺少1个必需的位置参数:'self'
- asp.net - 自定义 httpError 在 WCF 服务中引发 500 内部服务器错误
- git - 更改 Git 主分支路径?
- android - 从支持库重构为具有依赖项的 AndroidX
- loopbackjs - Loopback:如何在 afterRemote 中访问关系
- python - Keras/Tensorflow:单输出的组合损失函数