# 陣列、函式、變數 - 範例程式 #### 新增修改物件陣列 ```javascript=1 var arr = ['20191225']; var obj = {time1: '20191224'}; arr[0] = '20191224'; obj.time2 = '20191225'; console.log(arr, obj); ``` #### 利用 map 產生新的陣列 ```javascript=1 var newReleases = [ { "id": 70111470, "title": "Die Hard", "rating": [4.0], "bookmark": [] }, { "id": 654356453, "title": "Bad Boys", "rating": [5.0], "bookmark": [{ id: 432534, time: 65876586 }] } ] function generateKeyArr(value) { let result; result = value.map(function(item, index, arr){ var obj = { id: item.id, title: item.title }; return obj; }); return result; } console.log(generateKeyArr(newReleases)) ``` #### 接受不同型別強制轉型的加法 ```javascript=1 function plus(number1, number2) { return (+number1) + (+number2) } console.log(plus(4, 2)); console.log(plus('4', 2)); console.log(plus(4, '2')); ``` #### 更改傳入參數(物件)的函式 ```javascript=1 var person = {name: 'chad'}; function modifyObj(obj) { obj.name = 'peter'; } modifyObj(person); console.log(person); // {name: 'peter'} ``` #### 更改傳入參數(字串)的函式 ```javascript=1 var name = 'chad'; function modifyValue(name) { // 無法直接更改成功,此為刻意看見錯誤的範例,詳見下一區塊的重新賦值寫法 } modifyValue(name); console.log(name); // peter ``` 更改物件重新 assign 的函式 ```javascript=1 var person = {name: 'chad'}; function reassignObj() { return { name: 'peter' }; } person = reassignObj(person); console.log(person); ```