五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > js/javascrip/jst隊(duì)列方法push()、shift()與pop()、unshift()的解釋

js/javascrip/jst隊(duì)列方法push()、shift()與pop()、unshift()的解釋

文章來(lái)源:365jz.com     點(diǎn)擊數(shù):470    更新時(shí)間:2017-12-14 19:36   參與評(píng)論
JavaScript push() 方法

定義和用法
push() 方法可向數(shù)組的末尾添加一個(gè)或多個(gè)元素,并返回新的長(zhǎng)度。
語(yǔ)法
arrayObject.push(newelement1,newelement2,....,newelementX)
參數(shù) 描述
newelement1 必需。要添加到數(shù)組的第一個(gè)元素。
newelement2 可選。要添加到數(shù)組的第二個(gè)元素。
newelementX 可選??商砑佣鄠€(gè)元素。
返回值
把指定的值添加到數(shù)組后的新長(zhǎng)度。
說(shuō)明
push() 方法可把它的參數(shù)順序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是創(chuàng)建一個(gè)新的數(shù)組。push() 方法和 pop() 方法使用數(shù)組提供的先進(jìn)后出棧的功能。
提示和注釋
注釋:該方法會(huì)改變數(shù)組的長(zhǎng)度。
提示:要想數(shù)組的開(kāi)頭添加一個(gè)或多個(gè)元素,請(qǐng)使用 unshift() 方法。

JavaScript shift() 方法

定義和用法
shift() 方法用于把數(shù)組的第一個(gè)元素從其中刪除,并返回第一個(gè)元素的值。
語(yǔ)法
arrayObject.shift()
返回值
數(shù)組原來(lái)的第一個(gè)元素的值。
說(shuō)明
如果數(shù)組是空的,那么 shift() 方法將不進(jìn)行任何操作,返回 undefined 值。請(qǐng)注意,該方法不創(chuàng)建新數(shù)組,而是直接修改原有的 arrayObject。
提示和注釋
注釋:該方法會(huì)改變數(shù)組的長(zhǎng)度。
提示:要?jiǎng)h除并返回?cái)?shù)組的最后一個(gè)元素,請(qǐng)使用 pop() 方法。

JavaScript pop() 方法

定義和用法
pop() 方法用于刪除并返回?cái)?shù)組的最后一個(gè)元素。
語(yǔ)法
arrayObject.pop()
返回值
arrayObject 的最后一個(gè)元素。
說(shuō)明
pop() 方法將刪除 arrayObject 的最后一個(gè)元素,把數(shù)組長(zhǎng)度減 1,并且返回它刪除的元素的值。如果數(shù)組已經(jīng)為空,則 pop() 不改變數(shù)組,并返回 undefined 值。

JavaScript unshift() 方法

定義和用法
unshift() 方法可向數(shù)組的開(kāi)頭添加一個(gè)或更多元素,并返回新的長(zhǎng)度。
語(yǔ)法
arrayObject.unshift(newelement1,newelement2,....,newelementX)
參數(shù) 描述
newelement1 必需。向數(shù)組添加的第一個(gè)元素。
newelement2 可選。向數(shù)組添加的第二個(gè)元素。
newelementX 可選。可添加若干個(gè)元素。
返回值
arrayObject 的新長(zhǎng)度。
說(shuō)明
unshift() 方法將把它的參數(shù)插入 arrayObject 的頭部,并將已經(jīng)存在的元素順次地移到較高的下標(biāo)處,以便留出空間。該方法的第一個(gè)參數(shù)將成為數(shù)組的新元素 0,如果還有第二個(gè)參數(shù),它將成為新的元素 1,以此類推。
請(qǐng)注意,unshift() 方法不創(chuàng)建新的創(chuàng)建,而是直接修改原有的數(shù)組。
提示和注釋
注釋:該方法會(huì)改變數(shù)組的長(zhǎng)度。
注釋:unshift() 方法無(wú)法在 Internet Explorer 中正確地工作!
提示:要把一個(gè)或多個(gè)元素添加到數(shù)組的尾部,請(qǐng)使用 push() 方法。

1、push()、pop()和unshift()、shift()

  這兩組同為對(duì)數(shù)組的操作,并且會(huì)改變數(shù)組的本身的長(zhǎng)度及內(nèi)容。

  不同的是 push()、pop() 是從數(shù)組的尾部進(jìn)行增減,unshift()、shift() 是從數(shù)組的頭部進(jìn)行增減。

 var arr = [1, 2];

2、push()和unshift()

  向數(shù)組的 尾部/頭部 添加若干元素,并返回 數(shù)組的 新長(zhǎng)度;

  arr.push(3,4);         //返回 arr 的新長(zhǎng)度 4

  arr ;                        // arr = [1,2,3,4];

  arr.unshift(0,0.5);    // 返回 arr 的新長(zhǎng)度 6

  arr ;                       // arr = [0,0.5,1,2,3,4];

3、pop()和shift()

  從數(shù)組的 尾部/頭部 刪除1個(gè)元素(刪且只刪除1個(gè)),并返回 被刪除的元素;空數(shù)組是繼續(xù)刪除,不報(bào)錯(cuò),但返回undefined;

  arr.pop();      //返回 4;

  arr ;          // arr = [0,0.5,1,2,3];

  arr.pop();      //返回 3;

  arr ;         // arr = [0,0.5,1,2];

  arr.shift();      // 返回 0 ;

  arr ;        // arr = [0.5,1,2]

  PS: pop()和shift() 不接受傳參,即使傳了參數(shù)也沒(méi)什么卵用~~;

  arr.pop(3) ;           // 返回 2;永遠(yuǎn)返回最后一個(gè);

  arr ;        // arr = [0.5,1];

  arr.shift(1);    // 返回 0.5; 永遠(yuǎn)返回第一個(gè);

  arr ;        // arr = [1];

  arr.pop() ;     // 返回 1;

  arr ;        // arr = [];

  arr.shift()     // 返回 undefined;

  arr ;        // arr = [];
 

在學(xué)習(xí)js的過(guò)程中,碰到這樣一個(gè)問(wèn)題:

 

var colors=new Array();

 var count=colors.unshift("red","green");    //推入多個(gè)項(xiàng)

count=colors.unshift("black");                  //推入單個(gè)項(xiàng)

var item=colors.pop();                              //移除

alert(item);                  //''green''

我的問(wèn)題是:為什么移除的是 green而不是red 呢?本人仔細(xì)又回去看了一下數(shù)據(jù)結(jié)構(gòu),了解下面概念就不難理解了;

1、push()是用來(lái)在數(shù)組末端添加項(xiàng),shift()在移除數(shù)組的第一個(gè)項(xiàng)(前端);

2、pop()在數(shù)組末端移除項(xiàng),unshift()在數(shù)組前端添加項(xiàng);

3、push(),unshift()在推入多個(gè)項(xiàng)時(shí),各個(gè)項(xiàng)之間的順序不變

4、push(),unshift()將數(shù)組的長(zhǎng)度+1并返回的是數(shù)組的長(zhǎng)度,pop(),shift()將數(shù)組length-1并返回的是移除的項(xiàng)

例如:

var num=new Array();

num.push("1","2","3");  //推入項(xiàng) 數(shù)組呈現(xiàn)為①②③

console.log(num.shift());//移除①項(xiàng),數(shù)組呈現(xiàn)為②③

num.unshift(''4''); //在前端添加項(xiàng),數(shù)組呈現(xiàn)為④②③

num.push("5"); //在末端添加項(xiàng),數(shù)組呈現(xiàn)為④②③⑤

console.log(num.shift());//移除數(shù)組的第一個(gè)項(xiàng),驗(yàn)證得到④

num.unshift("6","7","8"); //注意這里,以及下一句 數(shù)組呈現(xiàn)為⑥⑦⑧②③⑤

num.push("9","10");   //數(shù)組呈現(xiàn)為⑥⑦⑧②③⑤⑨⑩

 

如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (470人查看0條評(píng)論)
請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)