---
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(){}