JavaScript概論 8

JavaScript概論VIII

延續探討

陣列函數

Array.unshift(element1[, …[, elementN]])

函數說明:從陣列最前端加入元素,並回傳新的長度。

傳入參數說明:

element 1~n:要插入的元素。

Array.shift()

函數說明:從陣列最前端取出元素,和pop函數一樣,若陣列為空,執行shift函數的時候會回傳undefined。

範例:

var a = [];

a.unshift(1);

a.unshift(22);

a.shift();

a.unshift(3,[4,5]);

a.shift();

a.shift();

a.shift();

說明:

最後陣列為空,第一行指派a陣列為一個空陣列,第二行將a陣列插入元素1的值,所以a陣列會變成[1],並且回傳值為1(插入元素1的值以後的陣列長度為1),第三行將a陣列最前端加入元素22,所以a陣列會變成[22,1],此時陣列長度為2,所以unshift函數的回傳值為2,第四行取出a陣列最前端的元素,所以第三行所放入的元素22會被取出,回傳值為22,目前的a陣列因為最前端的元素被取出了,所以會變成[1],第五行將a陣列最前端加入兩個元素3,[4,5],一個是單純的數值3,另一個是陣列[4,5],此時可以看出unshift函數一次加入多項元素的時候的順序會和輸入一致,所以一次加入的元素順序為3和[4,5]這時a陣列會把3和[4,5]元素一次插入陣列的最前端,所以a陣列會變成[3,[4,5],1],因為一次插入了兩個元素(3和[4,5])所以陣列的長度變為3,第六行出a陣列最前端的元素,所以第五行所放入的元素3會被取出,回傳值為3,目前的a陣列因為最前端的元素被取出了,所以會變成[[4,5],1],第七行出a陣列最前端的元素,所以第五行所放入的元素[4,5]會被取出,回傳值為[4,5],目前的a陣列因為最前端的元素被取出了,所以會變成[1],最後一行行出a陣列最前端的元素,所以第二行所放入的元素1會被取出,回傳值為1,目前的a陣列因為最前端的元素被取出了,所以會變成[]。

Array.toString()

函數說明:將陣列變成字串

範例:

[1,[2,’Message’],’NAS’].toString();

說明:

範例回傳結果為’12MessageNAS’,由回傳結果可以得知,.toString()方法會依陣列的順序將陣列內的元素組為字串。

結語:

這次主要把,比較常在使用的陣列功能都介紹完了,尤其是toString的部分和之前在string的章節介紹的split的字串轉換陣列的部分,算是我很常使用到的兩個陣列和字串相關的方法,toString的部分因為不像C#有很多format之類的用法,所以相對單純很多,所以範例就比較少,另外unshift和shift反而是我相對較少使用的方法,我的工作比較常使用到的方法是上次教的push和pull,unshift和shift我覺得和push和pull同樣都是先進後出的概念,但是我覺得對我來說push和pull思考起來是比較直觀的,所以我比較常使用push和pull的方法實作堆疊之類的方法,所以unshift和shift基本上若不是特殊的狀況,我不太會用到unshift和shift這兩個功能,在下一次的文章還是有關於陣列的方法介紹,不過是ECMAScript5版本以後才能使用的陣列方法,因為ECMAScript5已經是很久以前的版本了,所以目前應該很少有不能使用這些方法的地方了,我之後介紹的也都會是較常使用的方法。

 

參考:

JavaScript大全(ISBN:9789862764411)

Comments

No comments yet. Why don’t you start the discussion?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料