Javascript中pop() push() unshift() shift()对数组操作之后返回值是什么?
女神的闺蜜爱上我
女神的闺蜜爱上我 2017-06-12 09:25:04
[JavaScript讨论组]

最近在看《javascript权威指南(第6版)》,淘宝团队翻译的。看到数组那一章节,介绍JS数组的一些方法。
pop() push() 把数组当作栈,然后在数组的尾部分别是删除添加数组元素。
unshift() shift()也是把数组当作栈,但,是在数组的头部分别删除添加元素。
四个方法都会更新数组的长度。
但是对于提到的返回值,看到给的示例有点疑惑。
书上的示例代码:

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

返回值应该是当前删除或者插入的值
第二行最后插入的是数值2,所以返回值是2.
那为什么上面第4行代码还有返回值2?不是数值3么?因为插入的是数值3.

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

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

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

为什么返回数值是2不是5?

女神的闺蜜爱上我
女神的闺蜜爱上我

全部回复(2)
PHP中文网

Array.prototype.pop()
Return value
The removed element from the array; undefined if the array is empty.

Array.prototype.push()
Return value
The new length property of the object upon which the method was called.

Array.prototype.unshift()
Return value
The new length property of the object upon which the method was called.

Array.prototype.shift()
Return value
The removed element from the array; undefined if the array is empty.

即:push()unshift() 会返回新数组的长度,而 pop()shift() 会返回被移除的元素(当数组为空时返回 undefined

来源:MDN

迷茫

1,pusn 返回的是数组的长度。
2,pop,返回的是删除的元素。
3,unshift, 返回的是数组的长度。
4,shift 返回的是删除的元素。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号