Menu
Coddy logo textTech

JSON מקונן

חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-JavaScript של Coddy. שיעור 23 מתוך 65.

אובייקט JSON יכול להכיל בתוכו אובייקט JSON נוסף. אפשר לקנן אותו אינסוף פעמים. לדוגמה:

const userData = {
  "user": {
    "name": "Kim",
    "address": {
      "city": "Springfield",
      "zip": 12345,
      "location": {
        "coordinates": {
          "latitude": 42.1234,
          "longitude": -71.5678
        }
      }
    }
  }
}

כדי לגשת למפתח מקונן נכתוב:

userData.user.name
userData.user.address.location
// וכן הלאה
challenge icon

אתגר

קל

צרו פונקציה בשם calculateRestaurantBill שמקבלת כקלט אובייקט JSON המייצג הזמנה במסעדה. כל מפתח באובייקט הוא שם של מנה, וכל ערך הוא אובייקט נוסף המכיל:

  • price (מספר)
  • quantity (מספר)
  • isSpecialOffer (בוליאני) 

אם הערך הוא true, יש הנחה של 20% על המנה. הפונקציה צריכה:

  1. לחשב את החשבון הכולל
  2. להחיל את כל הנחות המבצע

האובייקט המוחזר מכיל:

  • totalBeforeDiscount
  • totalDiscount
  • finalTotal

(כל הערכים מעוגלים ל-2 ספרות אחרי הנקודה העשרונית)

נסו בעצמכם

function calculateRestaurantBill(order) {
    // כתבו את הקוד כאן
    
    
    return {
        totalBeforeDiscount: Number(totalBeforeDiscount.toFixed(2)),
        totalDiscount: Number(totalDiscount.toFixed(2)),
        finalTotal: Number(finalTotal.toFixed(2))
    };
}
// אל תכתבו דבר מחוץ לפונקציה
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת התוכנית

תרגלו בעצמכם: קומפיילר JavaScript אונליין