国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Javascript中pop() push() unshift() shift()對(duì)數(shù)組操作之后返回值是什么?
女神的閨蜜愛上我
女神的閨蜜愛上我 2017-06-12 09:25:04
0
2
1700

最近在看《javascript權(quán)威指南(第6版)》,淘寶團(tuán)隊(duì)翻譯的。看到數(shù)組那一章節(jié),介紹JS數(shù)組的一些方法。
pop() push() 把數(shù)組當(dāng)作棧,然后在數(shù)組的尾部分別是刪除添加數(shù)組元素。
unshift() shift()也是把數(shù)組當(dāng)作棧,但,是在數(shù)組的頭部分別刪除添加元素。
四個(gè)方法都會(huì)更新數(shù)組的長(zhǎng)度。
但是對(duì)于提到的返回值,看到給的示例有點(diǎn)疑惑。
書上的示例代碼:

var statck=[]; //stack:[]
stack.push(1,2); //stack:[1,2]  返回2
stack.pop();   //stack:[1]      返回2
stack.push(3);  //stack:[1,3]   返回2
stack.pop();    //stack:[1]     返回3
stack.push([4,5]); //stack:[1,[4,5]]   返回2
stack.pop();  //stack:[1]       返回[4,5]
stack.pop(); // stack:[]    返回1

返回值應(yīng)該是當(dāng)前刪除或者插入的值
第二行最后插入的是數(shù)值2,所以返回值是2.
那為什么上面第4行代碼還有返回值2?不是數(shù)值3么?因?yàn)椴迦氲氖菙?shù)值3.

stack.push(3); //stack:[1,3] 返回2

然后第6行也不理解后面的返回值:

stack.push([4,5]); //stack:[1,[4,5]]   返回2

為什么返回?cái)?shù)值是2不是5?

女神的閨蜜愛上我
女神的閨蜜愛上我

全部回復(fù)(2)
洪濤

Array.prototype.pop()
返回值
數(shù)組中移除的元素;如果數(shù)組為空則未定義。

Array.prototype.push()
返回值
調(diào)用該方法的對(duì)象的新長(zhǎng)度屬性。

Array.prototype.unshift()
返回值
調(diào)用該方法的對(duì)象的新長(zhǎng)度屬性。

Array.prototype.shift()
返回值
數(shù)組中移除的元素;如果數(shù)組為空則未定義。

即:push()unshift() 會(huì)返回新數(shù)組的長(zhǎng)度,而 pop()shift() 會(huì)返回被移除的元素(當(dāng)數(shù)組為空時(shí)返回 undefined

來(lái)源:MDN

迷茫

1,pusn 返回的是數(shù)組的長(zhǎng)度。
2,pop,返回的是刪除的元素。
3,unshift, 返回的是數(shù)組的長(zhǎng)度。
4,shift 返回的是刪除的元素。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板