延續探討
陣列函數
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)