數組的操作push,pop,shift,unshift
JS中的數組提供了四個操作,以便讓我們實現隊列與堆棧!
小理論:
隊列:先進先出
堆棧:后進先出
實現隊列的方法:
shift:從集合中把第一個元素刪除,并返回這個元素的值。
unshift: 在集合開頭添加一個或更多元素,并返回新的長度
push:在集合中添加元素,并返回新的長度
pop:從集合中把最后一個元素刪除,并返回這個元素的值。
具體說明:
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