Skip to content

3. Objects — اشیاء

Difficulty: Intermediate — متوسط
Time: ~25 minutes


Creating Objects — شے بنانا

An object stores key-value pairs — like a dictionary:

متغیر شخص = {
    نام: "احمد",
    عمر: 25,
    شہر: "کراچی"
};

اردو: شے {} میں کلید: قدر جوڑوں سے بنائیں۔ کلیدیں بغیر قوسین لکھی جاتی ہیں، قدریں کسی بھی قسم کی ہو سکتی ہیں۔


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:

نام: احمد
عمر: 25
شہر: کراچی

Or using entries to get both at once:

کے_لیے (متغیر [ک, ق] میں Object.اندراج(شخص)) {
    لکھو(`${ک} → ${ق}`);
}

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 variable
  • Object.مفاتیح(ش) — list of keys; Object.اقدار(ش) — list of values
  • Object.اندراج(ش)[key, value] pairs for iteration
  • Objects can be nested and stored in lists

اردو: شے {} کلیدی قدر جوڑے رکھتی ہے۔ . یا [] سے رسائی۔ Object.مفاتیح/اقدار/اندراج سے لوپ لگائیں۔


← Previous: Lists / Arrays | Next: Array Methods →