2020年3月25日 星期三

Javascript入門必學20-陣列(Array)

入門必學的Javascript陣列(Array),學起來吧!
入門必學的Javascript陣列(Array),學起來吧!
陣列(Arrays)
JavaScript 的「陣列(Arrays)」可以把他比喻為「可以一次承裝多個值的變數」。一般的變數一次只能裝一個值,但陣列一次可以裝很多個變數。例如,現在有三個課程名稱「HTML」、「CSS」、「JS」,就要設立三個變數來承裝。原始碼如下所示:
var course1 ="HTML"; 
 var course2 ="CSS"; 
 var course3 ="JS"; 
若是使用「陣列(Arrays)」,原始碼就可以精簡成一行文,如下所示:
var courses = new Array("HTML", "CSS", "JS"); 
語法解析:上述的代碼是宣告名為「courses」的陣列。這個陣列包含三個值(或稱元素)。建立新陣列的寫法為「new Array(元素一,元素二,元素三)」

取出陣列的某一元素

陣列裡含這麼多元素,當我們要找出某個元素時,就需要把索引號碼寫在方括號內。要取出陣列中的第 X 個元素,語法為「陣列名稱[X-1]」(因為陣列元素的編號是從零開始,不是從一開始,所以第一個元素的索引號為「0」、第二個元素的索引編號為「1」,由此類推⋯⋯)
我們承接前一段「名稱為 courses 的陣列」的例子,假如今天我們要從 courses 陣列中取出「JS」,並且把「JS」改成「JQuery」,寫法如下:
var courses = new Array("HTML", "CSS", "JS"); 
 var course = courses[2]; // 取出第三個元素「JS」
 courses[2] = "JQuery"; //將第三個元素名稱改成「JQuery」 
See the Pen JavaScript-Array1 by Tedutw (@Tedutw) on CodePen.

若當我們輸入的索引數字,已經超過了陣列元素數目減去「1」的數字時(例如上述例子的陣列中只有三個元素,但是你卻輸入了「3」或是比「3」還大的數字,則 JavaScript 會回傳「undefined」)。如以下所示:
var courses = new Array("HTML", "CSS", "JS");
 document.write(courses[3])
 
See the Pen JavaScript-Array2 by Tedutw (@Tedutw) on CodePen.

使用其他方式來建立陣列 Array

除了上述方式,我們還可以藉由先輸入陣列元素個數、之後再告知哪個序號對應到哪個元素的方式來建立陣列。
例如,我們把上述的 courses 陣列使用此方法來寫,則 JavaScript 原始碼如下:
var courses = new Array(3);
 courses[0] = "HTML";
 courses[1] = "CSS";
 courses[2] = "JS";
JavaScript 的陣列是動態的,因此我們在上述例子中的第一行「var courses = new Array(3);」,也可以不給元素的數目,即為「var courses = new Array();」。此時,後面的元素就可自由增加如下:
var courses = new Array();
 courses[0] = "HTML";
 courses[1] = "CSS";
 courses[2] = "JS";
 courses[3] = "JQuery"

實務上常用:陣列實字 (Array literal)

以上介紹了JavaScript陣列的寫法。為了提高前端工程師的執行速度,我們可以把以上的寫法簡化成陣列實字 (Array literal)寫法,如下所示:
var courses = ["HTML", "CSS", "JS"]; 
這樣子的寫法,等同於「var courses = new Array("HTML", "CSS", "JS");」,差別是陣列實字的寫法,少了關鍵字「new Array」,並且把元素左右側的括號改成方形括號。此種簡化的寫法最常被前端工程師所使用。
今天就介紹到這裡,在接下來「JavaScript入門教學#21」的文章中,我們將繼續介紹陣列的屬性、合併方法等。建議讀者們先消化一下陣列的寫法,再進入下一章學習陣列的活用,才會學得更輕而易舉。

相關文章:

JavaScript入門教學#18|創造JavaScript物件(Objects)

你是我的眼!Google AI 眼鏡助視障朋友「看見」世界

差點被拋棄的冠軍程式語言-Java入門教學(一)Java 身世之謎/寫出第一個Java程式

APCS 是什麼?所有 APCS 檢定的問題這篇都會回答你!

搞UI設計不可不知的心理小祕密!

JavaScript網頁前端技能不可少!

你不能不知JavaScript變數命名規範