开发者社区 > 通义大模型 > 正文

请对typescript 进行深度学习训练

export function pick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K> {
  const result: Record<K, T[K]> = {} as Record<K, T[K]>;
  for (const key of keys) {
    if (key in obj) {
      result[key] = obj[key]; // 确保 `key` 存在于 `obj` 中
    } else {
      throw new Error(`Key ${key} not found in object`);
    }
  }
  return result as Pick<T, K>;
}

这个函数是通义千问生成的,但是一直有错误提示“不能将类型“T”分配给类型“object”。”生成typescript 的代码经常会出现问题,而且修复了还没用

展开
收起
1723758222459056 2024-09-06 18:06:28 32 0
1 条回答
写回答
取消 提交回答
  • TypeScript的类型不对吧。
    试下下面这个

    export function pick(obj: T, keys: K[]): Pick {
    const result: Record = {} as Record;
    for (const key of keys) {
    if (key in obj) {
    result[key] = obj[key]; // 确保 key 存在于 obj
    } else {
    throw new Error(Key ${key} not found in object);
    }
    }
    return result as Pick;
    }

    image.png

    参考文档https://ts.nodejs.cn/docs/handbook/2/everyday-types.html

    2024-09-07 08:56:58
    赞同 120 展开评论 打赏

通义千问大模型家族全面升级更大参数规模模型首次面世,全新通义千问2.0版本欢迎体验。https://tongyi.aliyun.com/

相关电子书

更多
深度学习的最新进展 立即下载
搜狗深度学习技术在广告推荐领域的应用 立即下载
深度学习在电商搜索和聊天机器人中的应用 立即下载