簡體   English   中英

Typescript 使用給定鍵的屬性創建 object

[英]Typescript create object with properties with given keys

這是我正在努力的簡化案例。

 const createObj = <T extends string>(keys: T[]) => {
  return Object.fromEntries(
   keys.map((key) => [key, 0])
  );
 };

const result = createObj(["hi","hello","gg"] as const)

我希望結果類型是{hi: 0, hello: 0, gg: 0 }但結果是any

你可以這樣做:

function createObj<T extends string>(arr: T[]): Record<T, number> {
  let result = {} as Record<T, number>;

  arr.forEach((x, i) => {
    result[x] = i;
  })

  return result
}


const object = createObj(["hi","hello","gg"])

操場

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM