DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript數組函數unshift、shift、pop、push使用實例
JavaScript數組函數unshift、shift、pop、push使用實例
編輯:關於JavaScript     

如何聲明數組

s中數組的聲明可以有幾種方式聲明
復制代碼 代碼如下:
var tmp = [];  // 簡寫模式
var tmp = new Array(); // 直接new一個
var tmp = Array();  // 或者new也可以

在new數組的時候可以傳入一個參數,表示數組的初始化長度
復制代碼 代碼如下:
// new的時候傳入一個參數表示初始化數組長度
var tmp = new Array(3);
 
alert(tmp.length);  // 3

但如果你想創建一個只有一個元素3的數組,那麼使用 new 方法是不能實現的,因為系統會把你傳入的3當作數組的長度,除非你使用引號引起來當作字符串,如
復制代碼 代碼如下:
var tmp = new Array('3');
alert(tmp);  // 3

我們可以使用簡寫模式創建數組,這樣就可以創建只有一個數字元素3的數組
復制代碼 代碼如下:
var tmp = [3]
alert(typeof tmp[0]);  // number

也可以初始多個元素,並且元素的值可以是任意類型
復制代碼 代碼如下:
// 簡約模式創建數組
// 數組的元素可以是任意一種數據類型
var tmp = [3,true,8.5,{'name':'lizhong'},['a','b']];
alert(tmp.length); // 5

一、unshift 在數組第一個元素前插入元素

復制代碼 代碼如下:
// 使用unshift在數組第一個元素前插入元素
// 返回數組長度
var tmp = ['a','b'];
var len = tmp.unshift('c');
alert(len); // 3
alert(tmp); // c,a,b

也可以一次插入多個元素,順序依次從左邊排起
復制代碼 代碼如下:
// 使用unshift在數組第一個元素前插入元素
// 返回數組長度
var tmp = ['a','b'];
var len = tmp.unshift('c','d');
alert(len); // 4
alert(tmp); // c,d,a,b

二、shift彈出數組第一個元素,返回被彈出的元素值

小實例:
復制代碼 代碼如下:
// 使用shift彈出數組第一個元素
// 返回被彈出的元素值
var tmp = ['a','b','c'];
var val = tmp.shift();
alert(val); // a
alert(tmp); // b,c

如果是一個空數組:
復制代碼 代碼如下:
// 使用shift彈出數組第一個元素
// 返回被彈出的元素值
var tmp = [];
var val = tmp.shift();
alert(val); // undefined
alert(tmp); // 空

三、push在數組末尾添加元素

跟unshift相反,push在數組末尾添加元素,返回添加元素以後的數組長度
復制代碼 代碼如下:
// 使用push在數組末尾添加多個元素
// 返回數組最新長度
var tmp = ['a','b','c'];
var len = tmp.push('d');
alert(len); // 4
alert(tmp); // a,b,c,d

也可以一次添加多個元素
復制代碼 代碼如下:
// 使用push在數組末尾添加多個元素
// 返回數組最新長度
var tmp = ['a','b','c'];
var len = tmp.push('d','e','f');
alert(len); // 6
alert(tmp); // a,b,c,d,e,f

四、pop函數刪除數組末尾元素

跟shift相反,pop彈出的是數組末尾元素,返回被彈出的元素值
復制代碼 代碼如下:
// 使用pop彈出數組末尾元素
// 返回被彈出的元素值
var tmp = ['a','b','c'];
var val = tmp.pop();
alert(val); // c
alert(tmp); // a,b

如果數組為空,返回undefined
復制代碼 代碼如下:
// 使用pop彈出數組末尾元素
// 返回被彈出的元素值
var tmp = [];
var val = tmp.pop();
alert(val); // undefined
alert(tmp); // 空
 
利用以上四個函數,我們可以做一些隊列處理,具體案例就不寫代碼了。
push功能其實也可以這麼實現
復制代碼 代碼如下:
var tmp = ['a','b','c'];
tmp[tmp.length] = 'd';
alert(tmp); // a,b,c,d

注意:以上四個函數unshift、shift、pop、push函數操作都會在數組本身上修改。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved