Avatar ·

TypeScript: كيفية التكرار بشكل صحيح على قاموس (كائن) في حلقة؟

مرحبًا بالجميع! لقد بدأت للتو في تعلم TypeScript وواجهت مهمة تبدو بسيطة لكنها تسبب لي حيرة. لدي كائن أستخدمه كقاموس (المفاتيح — سلاسل نصية، القيم — أرقام). أحتاج إلى التكرار على جميع أزواج المفتاح-القيمة في حلقة. في JavaScript العادي كنت سأفعل هكذا: ```typescript const dict = { apple: 5, banana: 3, orange: 7 }; for (let key in dict) { console.log(key, dict[key]); } ``` لكن TypeScript يشتكي من `dict[key]` — يكتب شيئًا عن `Element implicitly has an 'any' type because index expression is not of type 'number'`. جربت استخدام `Object.keys`: ```typescript Object.keys(dict).forEach(key => { console.log(key, dict[key]); // خطأ مرة أخرى! }); ``` أيضًا خطأ! كيف يمكن التكرار بشكل صحيح على كائن-قاموس في TypeScript؟ أحتاج أن يفهم TypeScript أنواع المفاتيح والقيم، وليس فقط وضع `any`. وأيضًا: ما هي الطريقة الأكثر أداءً ونمطية لمثل هذه المهمة؟ شكرًا مقدمًا على المساعدة.