--- tags: JavaScript 實戰班, Day15 --- # 設計魔劍三組 ## 6/26:Day 15 來到鎮上的小明忘了自己被通緝的身份,傻傻的到在市集內採買所需要的蔬果,當採買完畢以後發現有幾位警察正在跟蹤他,小明想趁著到暗巷內結印準備施展開溜之術時,但越緊張的情況下越容易施展失敗(字數太多惹)。 在危急時刻,小美快速駕駛卡車出現,準備載走逃跑中的小明... ES6 新增的縮寫方式,可以在運行結果相同的情況下,大幅減少程式碼的撰寫,可參考: [https://wcc723.github.io/javascript/2017/12/23/javascript-short-hand/](https://wcc723.github.io/javascript/2017/12/23/javascript-short-hand/) 任務: - 將以下的函式進行縮寫 - 將水果、剩餘的零錢及小明,透過縮寫加入到小美的卡車上 ```js const fruits = { watermelon: 10, lemon: 3 }; const myMoney = 40; const person = { name: '小明', run: function() { console.log('拔腿跑') } } const truck = { driver: '小美', drive: function () { console.log('快溜喔'); }, }; ``` --- ### Vivian Chiang ```javascript= const fruits = { watermelon: 10, lemon: 3 }; const myMoney = 40; const person = { name: '小明', run () { console.log('拔腿跑') } } const truck = { driver: '小美', drive () { console.log('快溜喔'); }, fruits, person, myMoney }; console.log(truck); ``` > 助教回覆:作業做的很好哦,物件加入、物件函式縮寫的都方法很正確 :+1: > #### 6/24:Day 13 補交 ```javascript= // 請使用解構組合使 arr2 變成為 [1, 2, 3, 4, 5, 6] 的結果 let arr = [1, 2, 3]; let arr2 = [...arr, 4, 5, 6]; // [1, 2, 3, 4, 5, 6] console.log(arr2); // 請使用解構組合以下兩個陣列為 [1, 2, 3, 4, 5, 6] 的結果 let nums1 = [1, 2, 3]; let nums2 = [4, 5, 6]; let nums3 = [...nums1, ...nums2]; console.log(nums3); // 請使用解構,取出 name 及 age 的變數 const person = { name: '小明', age: 16 } const {name, age} = person; console.log(name); // '小明' console.log(age); // 16 // 請使用解構,將以下陣列分別取出為獨立變數 Ming, Auntie, Jay, Mei let people = ['小明', '漂亮阿姨', '杰倫', '小美']; let [a, b, c, d] = people; console.log(a); // '小明' console.log(b); // '漂亮阿姨' console.log(c); // '杰倫' console.log(d); // '小美' ``` > 助教回覆:作業做的很好哦,作業寫法很正確唷 :+1: #### 6/25:Day 14 補交 ```javascript= var myMoney = 0; // money 需要給予預設值 500 function getMoney(money = 500) { myMoney = money; } getMoney(); // console.log(myMoney); // fruits 是一個陣列 function buySomething(...fruits) { fruits.forEach((item) => { if ('lemon' === item) { console.log('買 3 個檸檬'); myMoney -= 60; } else if ('watermelon' === item && !'賣奇異果的') { console.log('買 1 個西瓜'); myMoney -= 40; } else if ('watermelon' === item && '賣奇異果的') { console.log('買 10 個西瓜'); myMoney -= 400; } }); console.log(`小明剩下 ${myMoney} 元`) } buySomething('lemon', 'watermelon', 'kiwi'); ``` > 助教回覆:作業做的很好哦,作業寫法很正確唷 :+1: > --- ### ClareDes. ```js const fruits = { watermelon: 10, lemon: 3 }; const myMoney = 40; const person = { name: '小明', //縮寫 run () { console.log('拔腿跑') } } const truck = { driver: '小美', //縮寫 drive () { console.log('快溜喔'); }, //解構 ...fruits, //物件縮寫,當屬性:值都一樣時,可以不用寫兩次 myMoney, ...person }; console.log(truck); ``` >助教回覆:作業做的很好哦,物件加入、物件函式縮寫的都方法很正確 :+1: > --- ### Ryan ```javascript= const fruits = { watermelon: 10, lemon: 3 }; const myMoney = 40; const person = { name: '小明', //這裡縮寫 移除 冒號和 function run () { console.log('拔腿跑') } } const truck = { driver: '小美', drive: function () { console.log('快溜喔'); }, // 用解構方式 直接將 person 的物件內容 加入到 truck ...fruits, // ES6 中如果物件名稱與屬性名稱相同時,則不需要寫兩次,可以改成寫一次即可。 myMoney, ...person }; console.log(truck); ``` > 助教回覆:作業做的很好哦,物件加入的方法很正確 :+1: 補充一下 drive: function () {} 這個物件中的函式,可以縮寫成 drive(){} --- ### Karen ```javascript= const fruits = { watermelon: 10, lemon: 3 }; const myMoney = 40; const person = { name: '小明', run() { console.log('拔腿跑') } } const truck = { fruits, myMoney, person, driver: '小美', drive() { console.log('快溜喔'); }, }; ``` > 助教回覆:作業做的很好哦,物件加入、物件函式縮寫的都方法很正確 :+1: > 補繳 6/23:Day 12任務 ```javascript= // 題目:1 const sum = (a, b) => a + b console.log(sum(5, 6)); // 題目:2 const square = num => num * num; var d = square(5); console.log(d); // 題目:3 setTimeout(() => console.log('延遲 10 毫秒'), 10) // 題目:4 var arr = [1, 2, 3]; var arr2 = arr.map(item => item * 2); console.log(arr2); // 題目:5 var obj = { fn: a => a * a } console.log(obj.fn(10)); ``` > 助教回覆:作業做的很好哦,作業寫法很正確唷 :+1: > --- --- ### Jerry ```javascript= const fruits = { watermelon: 10, lemon: 3 }; const myMoney = 40; const person = { name: '小明', run: function() { console.log('拔腿跑') } } const truck = { driver: '小美', drive: function () { console.log('快溜喔'); }, ...fruits, myMoney, ...person }; console.log(truck); ``` > 助教回覆:作業做的很好哦,物件加入的方法很正確 :+1: 補充一下 drive: function () {} 這個物件中的函式,可以縮寫成 drive(){} 補繳 6/24:Day 13任務 ```javascript= // 請使用解構組合使 arr2 變成為 [1, 2, 3, 4, 5, 6] 的結果 var arr = [1, 2, 3]; var arr2 = [...arr, 4, 5, 6]; // [1, 2, 3, 4, 5, 6] console.log(arr2); // 請使用解構組合以下兩個陣列為 [1, 2, 3, 4, 5, 6] 的結果 var nums1 = [1, 2, 3]; var nums2 = [4, 5, 6]; var nums3 = [...nums1 ,...nums2]; console.log(nums3); // 請使用解構,取出 name 及 age 的變數 const person = { name: '小明', age: 16 } let {name , age} = person; // 請使用解構,將以下陣列分別取出為獨立變數 Ming, Auntie, Jay, Mei var people = ['小明', '漂亮阿姨', '杰倫', '小美']; let [Ming, Auntie, Jay, Mei] = people; ``` > 助教回覆:作業做的很好哦,作業寫法很正確唷 :+1: > 補繳 6/25:Day 14任務 ```javascript= var myMoney = 0; // money 需要給予預設值 500 function getMoney(money = 500) { myMoney = money; } getMoney(); // fruits 是一個陣列 function buySomething(...fruits) { fruits.forEach((item) => { if ('lemon' === item) { console.log('買 3 個檸檬'); myMoney -= 60; } else if ('watermelon' === item && !'賣奇異果的') { console.log('買 1 個西瓜'); myMoney -= 40; } else if ('watermelon' === item && '賣奇異果的') { console.log('買 10 個西瓜'); myMoney -= 400; } }); console.log(`小明剩下 ${myMoney} 元`) } buySomething('lemon', 'watermelon', 'kiwi'); ``` > 助教回覆:作業做的很好哦,作業寫法很正確唷 :+1: > --- ### Yoyo ```javascript= const truck = { driver: '小美', drive: function () { console.log('快溜喔'); }, person,myMoney,fruits }; ``` > 助教回覆:作業做的很好哦,物件加入的方法很正確 :+1: 補充一下 drive: function () {} 這個物件中的函式,可以縮寫成 drive(){}