JavaScript數(shù)組函數(shù)unshift、shift、pop、push使用實例
如何聲明數(shù)組
s中數(shù)組的聲明可以有幾種方式聲明
var tmp = []; // 簡寫模式
var tmp = new Array(); // 直接new一個
var tmp = Array(); // 或者new也可以
在new數(shù)組的時候可以傳入一個參數(shù),表示數(shù)組的初始化長度
// new的時候傳入一個參數(shù)表示初始化數(shù)組長度
var tmp = new Array(3);
alert(tmp.length); // 3
但如果你想創(chuàng)建一個只有一個元素3的數(shù)組,那么使用 new 方法是不能實現(xiàn)的,因為系統(tǒng)會把你傳入的3當(dāng)作數(shù)組的長度,除非你使用引號引起來當(dāng)作字符串,如
var tmp = new Array('3');
alert(tmp); // 3
我們可以使用簡寫模式創(chuàng)建數(shù)組,這樣就可以創(chuàng)建只有一個數(shù)字元素3的數(shù)組
var tmp = [3]
alert(typeof tmp[0]); // number
也可以初始多個元素,并且元素的值可以是任意類型
// 簡約模式創(chuàng)建數(shù)組
// 數(shù)組的元素可以是任意一種數(shù)據(jù)類型
var tmp = [3,true,8.5,{'name':'lizhong'},['a','b']];
alert(tmp.length); // 5
一、unshift 在數(shù)組第一個元素前插入元素
// 使用unshift在數(shù)組第一個元素前插入元素
// 返回數(shù)組長度
var tmp = ['a','b'];
var len = tmp.unshift('c');
alert(len); // 3
alert(tmp); // c,a,b
也可以一次插入多個元素,順序依次從左邊排起
// 使用unshift在數(shù)組第一個元素前插入元素
// 返回數(shù)組長度
var tmp = ['a','b'];
var len = tmp.unshift('c','d');
alert(len); // 4
alert(tmp); // c,d,a,b
二、shift彈出數(shù)組第一個元素,返回被彈出的元素值
小實例:
// 使用shift彈出數(shù)組第一個元素
// 返回被彈出的元素值
var tmp = ['a','b','c'];
var val = tmp.shift();
alert(val); // a
alert(tmp); // b,c
如果是一個空數(shù)組:
// 使用shift彈出數(shù)組第一個元素
// 返回被彈出的元素值
var tmp = [];
var val = tmp.shift();
alert(val); // undefined
alert(tmp); // 空
三、push在數(shù)組末尾添加元素
跟unshift相反,push在數(shù)組末尾添加元素,返回添加元素以后的數(shù)組長度
// 使用push在數(shù)組末尾添加多個元素
// 返回數(shù)組最新長度
var tmp = ['a','b','c'];
var len = tmp.push('d');
alert(len); // 4
alert(tmp); // a,b,c,d
也可以一次添加多個元素
// 使用push在數(shù)組末尾添加多個元素
// 返回數(shù)組最新長度
var tmp = ['a','b','c'];
var len = tmp.push('d','e','f');
alert(len); // 6
alert(tmp); // a,b,c,d,e,f
四、pop函數(shù)刪除數(shù)組末尾元素
跟shift相反,pop彈出的是數(shù)組末尾元素,返回被彈出的元素值
// 使用pop彈出數(shù)組末尾元素
// 返回被彈出的元素值
var tmp = ['a','b','c'];
var val = tmp.pop();
alert(val); // c
alert(tmp); // a,b
如果數(shù)組為空,返回undefined
// 使用pop彈出數(shù)組末尾元素
// 返回被彈出的元素值
var tmp = [];
var val = tmp.pop();
alert(val); // undefined
alert(tmp); // 空
利用以上四個函數(shù),我們可以做一些隊列處理,具體案例就不寫代碼了。
push功能其實也可以這么實現(xiàn)
var tmp = ['a','b','c'];
tmp[tmp.length] = 'd';
alert(tmp); // a,b,c,d
注意:以上四個函數(shù)unshift、shift、pop、push函數(shù)操作都會在數(shù)組本身上修改。
相關(guān)文章
Javascript圖像處理—圖像形態(tài)學(xué)(膨脹與腐蝕)
上一篇文章,我們講解了圖像處理中的閾值函數(shù),這一篇文章我們來做膨脹和腐蝕函數(shù)2013-01-01
JS中的==運算: [''''] == false —>true
這篇文章主要介紹了JS中的==運算: [''] == false —>true的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07
javascript基礎(chǔ)知識之html5輪播圖實例講解(44)
這篇文章主要為大家詳細介紹了javascript基礎(chǔ)知識之html5輪播圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02
javascript中不提供sleep功能如何實現(xiàn)這個功能
javascript中不提供sleep功能,而我們時長會用到這個功能,下面與大家分享個不錯的解決方法,而且在不同的機器上的執(zhí)行速度是一致的2014-05-05
關(guān)于微信小程序獲取小程序碼并接受buffer流保存為圖片的方法
這篇文章主要介紹了關(guān)于微信小程序獲取小程序碼并接受buffer流保存為圖片的方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用小程序具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧<BR>2019-06-06

