JavaScript數組函數unshift、shift、pop、push使用執行個體

來源:互聯網
上載者:User

標籤:

如何聲明數組

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函數操作都會在數組本身上修改。

JavaScript數組函數unshift、shift、pop、push使用執行個體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.