我很难记住做什么Array.shift()
和Array.unshift()
做什么。
几年后,当我需要使用其中一个时,我仍然不时查看参考。谁能解释为什么选择这些名字以及如何记住哪个名字做什么?
Array.push()
我对和没有这样的问题Array.pop()
我很难记住做什么Array.shift()
和Array.unshift()
做什么。
几年后,当我需要使用其中一个时,我仍然不时查看参考。谁能解释为什么选择这些名字以及如何记住哪个名字做什么?
Array.push()
我对和没有这样的问题Array.pop()
据我所知。
移位命令来自二进制位移[1]。例如。
001100
0 < 011000 // when you shift left
|
Yay!
我认为这很简单,就像你从后面推它一样。所以这对我来说很有意义。
不换档是换档的相反方式。
001100
1 > 001100 // they called it unshift
1001100
|
Yay!
就是这样,希望这有帮助!
[1] http://en.wikipedia.org/wiki/Bitwise_operation#Bit_shifts
想想你的键盘:
Shift 获得您按下的第一个键的大写版本
.shift()
从数组中取出第一项。
a.push(e)
推 e
到. _ _a
e = a.pop()
从, 到弹出最后一个元素。a
e
a.unshift(e)
排 e
在. _ _a
e = a.shift()
从to获取第一个元素。a
e
用于push
堆栈pop
。
用于unshift
队列pop
。(或push
和shift
)
shift
我记住(破坏性)和(建设性)之间的区别unshift
只是记住我使用un - shift进行排队,并且shift
与unshift
.
这无疑是最令人困惑的一对函数名称。我能提供的唯一拯救就是记住以下两件事之一:
unshift
听起来像是在撤消某些东西,但实际上,它是将某些东西放到数组上。祝你好运!
怎么样:
SHIFTer 做一个漂移者
它返回变量的第一个条目。
和 -
UNSHIFTer 是一个偷偷排队的小东西
插入参数作为数组中的第一个条目
哦,这里有很深的心理技巧在起作用!!:-o 但说真的,你会因为它的特殊性而记住它 :-)