正在準備工作環境...
巢狀結構與存取深層資料
- JSON 可嵌套物件與陣列,需要使用 dot notation 或 bracket notation 取得深層值。
- dot 適合已知且合法的鍵名; bracket 可用變數或處理含空白/特殊符號的鍵。
例子:GA4 事件
混合 dot 與 bracket
深層值不存在時
- 直接存取不存在的鍵會得到
undefined;鏈接更深會拋出錯誤。 - 安全做法:先檢查、或使用可選鏈
?.(若環境支援)。
練習題
AI 協作:學了這個,跟 AI 怎麼配合?
真實的 API 回傳都是巢狀 JSON——物件裡有陣列、陣列裡有物件。你要能「導航」到你要的資料。
你的人類優勢:
- 你知道你要的資料在 JSON 的哪一層(看 API 文件或用 console.log 展開)
- 你能告訴 AI 精確的存取路徑
可以這樣跟 AI 說:
這個 JSON 結構是 { data: { orders: [{ items: [...] }] } },幫我取出所有 orders 裡每個 item 的 productName 和 price。
互動示範
DEMO 1可以修改程式碼試玩
DEMO 2可以修改程式碼試玩
DEMO 3可以修改程式碼試玩
挑戰任務
Task 1
取出第二個商品的數量,印出「第二件數量:4」。
起始程式碼: const cart = { "items": [{ "sku": "SKU-100", "qty": 1 }, { "sku": "SKU-200", "qty": 4 }] };
Task 2
取出巢狀物件中的 transaction_id 並印出。
起始程式碼: const event = { "params": { "transaction_id": "O-001", "value": 3290 } };
Task 3
計算 items 陣列中所有商品的 qty 總和並印出。
起始程式碼: const cart = { "items": [{ "qty": 3 }, { "qty": 1 }, { "qty": 2 }] };
← BackNext Lesson →