微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对象内的动态键名

如何解决对象内的动态键名

我正在尝试执行以下操作: 我有一个看起来像这样的对象

const object = {
    healthcheck: [
        { method: 'get',name: 'test' }
    ],users: [
        { method: 'get',name: 'auth' }
    ],};

所以我有一个带有键的对象,每个键可以是任何字符串,每个键都是一个对象数组,其中的方法名称作为键。

如何使用 JSDoc 在对象内部提供带有动态键的智能感知?

谢谢! ?

解决方法

您可以通过以下语法输入提示动态键:{[key: string]: any},因此在您的情况下,这应该会得到您正在寻找的结果:

/**
 * @typedef {{
 *     [key: string]: [{
 *         method: string,*         name: string
 *     }]
 * }} MyObject
 */

/**
 * @type {MyObject}
*/
const object = {
    healthcheck: [
        { method: 'get',name: 'test' }
    ],users: [
        { method: 'get',name: 'auth' }
    ],}

typedef 是为了方便在你的代码中的各个地方使用类型,但是如果你需要智能感知来显示类型的完整形状,你可以直接使用类型:

/**
 * @param {{
 *     [key: string]: [{
 *         method: string,*         name: string
 *     }]
 * }} routes
 */
const xt = routes => {}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。