js代码,数组堆栈操作的四个函数区别在哪里?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
本文描述一下js
数组的堆栈操作,一共四个函数shift
、unshift
、pop
、push
。pop
和push
这两个是经典的堆栈函数,很好理解。那么,shift
和unshift
这对儿操作,如何理解呢?
大家好,这里是苏南大叔的博客,最近被该死的百度云备案(我的服务器都不是百度云)给折磨的不行,估计也许大概差不多可能会被迫停更一段时间了。要是哪天看不到我的文字了,记得等一等,个把月也许就会恢复了。我准备有空写一篇文章,写写狗血的“百度云备案”干的那些恶心事情。本文测试环境:win10
,chrome@105.0.5195.102
。
测试代码
var _arr = ["d", "e", "f"];
console.log("init:", _arr);
var _ = _arr.unshift("b", "c");
console.log("unshift(b,c):", _arr, _);
var _ = _arr.shift();
console.log("shift:", _arr, _);
var _ = _arr.push("g", "h");
console.log("push(g,h):", _arr, _);
var _ = _arr.pop();
console.log("pop:", _arr, _);
测试结果:
init: (3)?['d', 'e', 'f']
unshift(b,c): (5)?['b', 'c', 'd', 'e', 'f'] 5
shift: (4)?['c', 'd', 'e', 'f'] b
push(g,h): (6)?['c', 'd', 'e', 'f', 'g', 'h'] 6
pop: (5)?['c', 'd', 'e', 'f', 'g'] h
代码说明
unshift()
和push()
是类似操作,都是向数组中插入数据,都可以插入多个数据,返回的都是插入完成后的数组个数。区别就是:unshift()
是在头部插入,push()
是在尾部插入。shift()
和pop()
是类似操作,都是从数组中弹出数据,弹出的数据都是一个,返回值就是一个数据。区别在于:shift()
弹出的是第一个数据,pop()
弹出的是最后一个数据。
名称 | 参数 | 说明 | 返回值 |
---|---|---|---|
unshift() | 一个或多个 | 在头部插入 | 插入后的数组长度 |
shift() | 无 | 在头部弹出 | 被弹出的那个数据 |
push() | 一个或多个 | 在尾部压入 | 插入后的数组长度 |
pop() | 无 | 在尾部弹出 | 被弹出的那个数据 |
相关链接
- https://newsn.net/say/python-ndarray.html
- https://newsn.net/say/python-set-vs-list.html
- https://newsn.net/say/python-slice-join.html
总结
数组或者说堆栈的操作,都说是堆栈操作,先进后出。呃,好像哪里不对,堆栈的首部也能操作,这就是unshift
插入,shift
负责把数据从头部扒拉出来。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。