iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 17
0
Modern Web

教練我想學 JavaScript 系列 第 17

Day 17 陣列

陣列可以透過兩種方式來創建,
先用第1種方式,我們直接來看程式碼:

var arr1 = new Array();
arr1[0] = 1;
arr1[1] = 2;
arr1[2] = 3;

console.log(arr1);

我們到 Console 中來看結果:

可以看到我們成功的新增陣列並且如我們的預期,

第2種方式是透過陣列實體來新增陣列,
程式碼如下:

var arr2 = [4, 5, 6];

console.log(arr2);

我們到 Console 中來看結果:

透過這種方式我們更簡潔、快速的新增陣列,

在 JavaScript 當中陣列的成員不一定都要是相同的型別,
不一定要都是字串、數值、物件等,
因為我們知道在 JavaScript 中函數是物件,因此陣列的成員也可以是函數,
陣列的值可以是任何值(純值或物件),

我們來看個例子:
程式碼如下:

var arr = [
  1,
  false,
  {
    name: 'Jimmy',
    age: 26,
  },
  function(name) {
    var greeting = 'Hello ';
    console.log(greeting + name);
  },
  'hello'
];

console.log(arr);

我們到 Console 中看結果:

陣列正確被新增,陣列的值可以是任何值,陣列中也可以有另一個陣列,

在陣列中如果想取用成員,第 1 個成員對應的索引值是 0 ,第 2 個對應的索引值是 1,以此類推,

如果我們想要取用陣列中的函數並將陣列中的物件屬性 name 當作參數傳入函數裡,該如何取用?
我們可以這樣寫,
程式碼如下:

var arr = [
  1,
  false,
  {
    name: 'Jimmy',
    age: 26,
  },
  function(name) {
    var greeting = 'Hello ';
    console.log(greeting + name);
  },
  'hello',
  [2,5,6]
];

console.log(arr);
arr[3](arr[2].name);

Console 中的結果如下:

函數在此是表達式因為是在陣列中被創造,
在我們例子中因為函數在陣列中的順序是第四個,對應的索引值是 3 ,
物件在陣列中順序是第二個,對應的索引值是 2 ,
因此我們可以透過上面的這種方式來呼叫陣列中的函數,並取用到陣列中的物件屬性
這讓我們方便的把所有類型的值集合在一起,


上一篇
Day 16 物件、函數與「this」
下一篇
Day 18 arguments 與 spread 運算子
系列文
教練我想學 JavaScript 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言