3. Objects — اشیاء
Difficulty: Intermediate — متوسط
Time: ~25 minutes
Creating Objects — شے بنانا
An object stores key-value pairs — like a dictionary:
اردو: شے
{}میں کلید: قدر جوڑوں سے بنائیں۔ کلیدیں بغیر قوسین لکھی جاتی ہیں، قدریں کسی بھی قسم کی ہو سکتی ہیں۔
Accessing Properties — خصوصیات تک رسائی
Two syntaxes work:
لکھو(شخص.نام); // احمد (dot notation — نقطہ نوٹیشن)
لکھو(شخص["عمر"]); // 25 (bracket notation — قوسین نوٹیشن)
Use bracket notation when the key is in a variable:
اردو:
.سے سادہ رسائی،["کلید"]سے جب کلید متغیر میں ہو یا خاص حروف والی ہو۔
Adding and Updating — شامل اور تبدیل
شخص.پیشہ = "انجینیر"; // add new property
لکھو(شخص.پیشہ); // انجینیر
شخص.عمر = 26; // update existing
لکھو(شخص.عمر); // 26
Nested Objects — اندرونی اشیاء
متغیر طالب = {
نام: "فاطمہ",
نمبرات: {
ریاضی: 90,
سائنس: 85,
اردو: 92
}
};
لکھو(طالب.نمبرات.ریاضی); // 90
لکھو(طالب["نمبرات"]["سائنس"]); // 85
اردو: شے کے اندر شے رکھی جا سکتی ہے — کئی
۔سے گہری رسائی کریں۔
Object Helpers — شے کے مددگار
متغیر شخص = { نام: "احمد", عمر: 25, شہر: "کراچی" };
// Get all keys — تمام کلیدیں
لکھو(Object.مفاتیح(شخص));
// ['نام', 'عمر', 'شہر']
// Get all values — تمام قدریں
لکھو(Object.اقدار(شخص));
// ['احمد', 25, 'کراچی']
// Get key-value pairs — جوڑے
لکھو(Object.اندراج(شخص));
// [('نام', 'احمد'), ('عمر', 25), ('شہر', 'کراچی')]
اردو:
Object.مفاتیح()کلیدیں دیتا ہے،Object.اقدار()قدریں،Object.اندراج()دونوں جوڑوں کی فہرست۔
Iterating Over an Object — شے پر لوپ
متغیر شخص = { نام: "احمد", عمر: 25, شہر: "کراچی" };
کے_لیے (متغیر کلید میں Object.مفاتیح(شخص)) {
لکھو(`${کلید}: ${شخص[کلید]}`);
}
Output:
Or using entries to get both at once:
Objects in Lists — فہرست میں اشیاء
متغیر طلباء = [
{ نام: "احمد", نمبر: 85 },
{ نام: "فاطمہ", نمبر: 92 },
{ نام: "علی", نمبر: 78 }
];
کے_لیے (متغیر طالب میں طلباء) {
لکھو(`${طالب.نام}: ${طالب.نمبر}`);
}
// Sort by نمبر
فنکشن بلحاظ_نمبر(ط) { واپس ط.نمبر; }
متغیر ترتیب_شدہ = ترتیب(طلباء, کلید=بلحاظ_نمبر, الٹا=سچ);
لکھو(ترتیب_شدہ[0].نام); // فاطمہ (highest)
Practical Example: Inventory — عملی مثال: انوینٹری
متغیر انوینٹری = {
سیب: 50,
کیلا: 30,
آم: 20
};
فنکشن اضافہ(چیز, مقدار) {
اگر (انوینٹری[چیز] != غیر_معرف) {
انوینٹری[چیز] += مقدار;
} ورنہ {
انوینٹری[چیز] = مقدار;
}
}
اضافہ("سیب", 10);
اضافہ("انار", 25);
لکھو(انوینٹری);
Key Points — اہم نکات
- Objects
{ کلید: قدر }store named data .کلیدor["کلید"]to access — use brackets when key is in a variableObject.مفاتیح(ش)— list of keys;Object.اقدار(ش)— list of valuesObject.اندراج(ش)—[key, value]pairs for iteration- Objects can be nested and stored in lists
اردو: شے
{}کلیدی قدر جوڑے رکھتی ہے۔.یا[]سے رسائی۔Object.مفاتیح/اقدار/اندراجسے لوپ لگائیں۔