嵌套 JSON
本课属于 Coddy JavaScript 学习旅程的“逻辑与流程”单元。第 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
// 以此类推挑战
简单创建一个名为 calculateRestaurantBill 的函数,该函数接收一个表示餐厅订单的 JSON 对象作为输入。对象中的每个键都是一道菜的名称,每个值都是另一个对象,其中包含:
- price(数字)
- quantity(数字)
- isSpecialOffer(布尔值)
如果为 true,该菜品可享受 20% 的折扣。函数应当:
- 计算账单总额
- 应用所有特别优惠折扣
返回的对象包含:
- totalBeforeDiscount
- totalDiscount
- finalTotal
(所有值都四舍五入到小数点后 2 位)
亲手试试
function calculateRestaurantBill(order) {
// 在这里编写代码
return {
totalBeforeDiscount: Number(totalBeforeDiscount.toFixed(2)),
totalDiscount: Number(totalDiscount.toFixed(2)),
finalTotal: Number(finalTotal.toFixed(2))
};
}
// 不要在函数外编写任何内容这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: JavaScript 在线编译器
格式化并浏览任意 JSON: JSON 格式化工具