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`. وأيضًا: ما هي الطريقة الأكثر أداءً ونمطية لمثل هذه المهمة؟ شكرًا مقدمًا على المساعدة.