JS中的數組提供了四個操做,以便讓咱們實現隊列與堆棧!javascript
小理論:java
隊列:先進先出數組
堆棧:後進先出spa
實現隊列的方法:orm
shift:從集合中把第一個元素刪除,並返回這個元素的值。隊列
unshift: 在集合開頭添加一個或更多元素,並返回新的長度ip
push:在集合中添加元素,並返回新的長度element
pop:從集合中把最後一個元素刪除,並返回這個元素的值。it
具體說明:console
1.shift()定義和用法
shift() 方法用於把數組的第一個元素從其中刪除,並返回第一個元素的值。
語法:arrayObject.shift()
返回值:數組原來的第一個元素的值。
說明:若是數組是空的,那麼 shift() 方法將不進行任何操做,返回 undefined 值。請注意,該方法不建立新數組,而是直接修改原有的 arrayObject。
提示和註釋:
註釋:該方法會改變數組的長度。
提示:要刪除並返回數組的最後一個元素,請使用 pop() 方法。
實例:在本例中,咱們將建立一個數組,並刪除數組的第一個元素。請注意,這也將改變數組的長度:
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.info(arr);
console.info(arr.shift());
console.info(arr);
</script>
輸出:
George,John,Thomas
George
John,Thomas
2.unshift()定義和用法
unshift() 方法可向數組的開頭添加一個或更多元素,並返回新的長度。
語法:arrayObject.unshift(newelement1,newelement2,....,newelementX)
參數描述:
newelement1 必需。向數組添加的第一個元素。
newelement2 可選。向數組添加的第二個元素。
newelementX 可選。可添加若干個元素。
返回值:arrayObject 的新長度。
說明:unshift() 方法將把它的參數插入 arrayObject 的頭部,並將已經存在的元素順次地移到較高的下標處,以便留出空間。該方法的第一個參數將成爲數組的新元素 0,若是還有第二個參數,它將成爲新的元素 1,以此類推。
請注意,unshift() 方法不建立新的建立,而是直接修改原有的數組。
提示和註釋
註釋:該方法會改變數組的長度。
註釋:unshift() 方法沒法在 Internet Explorer 中正確地工做!
提示:要把一個或多個元素添加到數組的尾部,請使用 push() 方法。
實例:在本例中,咱們將建立一個數組,並把一個元素添加到數組的開頭,並返回數組的新長度:
<script type="text/javascript">
var arr = new Array()
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.info(arr );
console.info(arr.unshift("William"));
console.info(arr);
</script>
輸出:
George,John,Thomas
4
William,George,John,Thomas
3.push() 定義和用法
push() 方法可向數組的末尾添加一個或多個元素,並返回新的長度。
語法:arrayObject.push(newelement1,newelement2,....,newelementX)
參數描述:
newelement1 必需。要添加到數組的第一個元素。
newelement2 可選。要添加到數組的第二個元素。
newelementX 可選。可添加多個元素。
返回值:把指定的值添加到數組後的新長度。
說明:push() 方法可把它的參數順序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是建立一個新的數組。push() 方法和 pop() 方法使用數組提供的先進後出棧的功能。
提示和註釋:
註釋:該方法會改變數組的長度。
提示:要想數組的開頭添加一個或多個元素,請使用 unshift() 方法。
實例:在本例中,咱們將建立一個數組,並經過添加一個元素來改變其長度:
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.info(arr );
console.info(arr.push("James"));
console.info(arr );
</script>
輸出:
George,John,Thomas
4
George,John,Thomas,James
4.pop() 定義和用法
pop() 方法用於刪除並返回數組的最後一個元素。
語法 :arrayObject.pop()
返回值 :arrayObject 的最後一個元素。
說明 :pop() 方法將刪除 arrayObject 的最後一個元素,把數組長度減 1,而且返回它刪除的元素的值。若是數組已經爲空,則 pop() 不改變數組,並返回 undefined 值。
實例 :在本例中,咱們將建立一個數組,而後刪除數組的最後一個元素。請注意,這也會改變數組的程度:
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.info(arr);
console.info(arr.pop());
console.info(arr);
</script>
輸出:
George,John,Thomas
Thomas
George,John