Typescript: كيفية تحويل نوع التعداد إلى مصفوفة<object/>

تم إنشاؤها على ١٣ ديسمبر ٢٠١٦  ·  3تعليقات  ·  مصدر: microsoft/TypeScript

أريد تحويل نوع التعداد إلى صفيف.

مثال:

تعداد {
كلب = 1 ،
قطة = 2 ،
نملة = 3
}

تحويل إلى: [{id: 1، name: 'dog'}، {id: 2، name: 'cat'}، {id: 3، name: 'ant'}]

شكرا لك.

Question

التعليق الأكثر فائدة

تضمين التغريدة

هذا هو أداة تعقب المشكلات ، وليس منتدى مساعدة قياسيًا. ولكن على أي حال ، إليك كيفية القيام بذلك:

// This requires TypeScript 2.1.
// If you need older versions, use `string` instead of `keyof E`.
interface EnumItem<E> { id: E; name: keyof E; }

function enumToArray<E>(Enum: {[keyof E]: E}): EnumItem<E>[] {
    return Object.keys(Enum).map(key => ({id: Enum[key], name: key} as EnumItem<E>))
}

ال 3 كومينتر

تضمين التغريدة

هذا هو أداة تعقب المشكلات ، وليس منتدى مساعدة قياسيًا. ولكن على أي حال ، إليك كيفية القيام بذلك:

// This requires TypeScript 2.1.
// If you need older versions, use `string` instead of `keyof E`.
interface EnumItem<E> { id: E; name: keyof E; }

function enumToArray<E>(Enum: {[keyof E]: E}): EnumItem<E>[] {
    return Object.keys(Enum).map(key => ({id: Enum[key], name: key} as EnumItem<E>))
}

حسنا شكرا

لقد وجدت أن {[keyof E]: E} لا يمكن التعرف عليه في Webstorm. لذا استبدله بأي ...

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات