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解析json格式的數(shù)據(jù)方法詳解
這篇文章主要介紹了javascript解析json格式的數(shù)據(jù)方法詳解,文章通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08JavaScript報錯:Uncaught ReferenceError: XYZ is&
在 JavaScript 編程中,“Uncaught ReferenceError: XYZ is not defined” 是一種常見的錯誤,這種錯誤通常發(fā)生在試圖使用一個未聲明的變量或標(biāo)識符時,故本文給大家介紹了JavaScript報錯:Uncaught ReferenceError: XYZ is not defined的解決方法,需要的朋友可以參考下2024-07-07JavaScript筆記之?dāng)?shù)據(jù)屬性和存儲器屬性
本文給大家介紹js數(shù)據(jù)屬性和存儲器屬性,及兩種屬性的區(qū)別,對js數(shù)據(jù)屬性存儲器屬性相關(guān)知識感興趣的朋友一起學(xué)習(xí)2016-03-03基于JavaScript實現(xiàn)點擊頁面任何位置返回
這篇文章主要介紹了基于JavaScript實現(xiàn)點擊頁面任何位置返回的實例代碼,需要的朋友可以參考下2016-08-08