首頁  >  文章  >  web前端  >  JavaScript陣列函數unshift、shift、pop、push使用實例_javascript技巧

JavaScript陣列函數unshift、shift、pop、push使用實例_javascript技巧

WBOY
WBOY原創
2016-05-16 16:38:352110瀏覽

如何宣告陣列

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函數操作都會在陣列本身上修改。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn