【发布时间】:2014-08-30 23:11:35
【问题描述】:
我可以使用push 将元素推送到数组中。如果我创建一个数组a = ["alice", "bob"]、a[0] = "alice" 和a[1] = "bob"。我可以推送"carl",它位于a[2]。但我为什么要pop 出去并退回呢?
shift 方法对我来说很有意义,因为它删除了第一个索引元素并将其余元素移动一个索引。我可以使用a.shift 将"alice" 移出数组并返回"alice",效果是"bob" 现在位于a[0] 而不是a[1]。
unshift 会将事物移回其原始索引,尽管这些引用都含糊其辞地前置,这样我就可以任意取消移动从未移动过的东西。
我可能想要一致地对数组进行操作,因此将新元素添加到一侧,并从另一侧删除它们。例如,如果元素在某个过程中循环,则处理并移动第一个元素并将任何新元素推到队列末尾是有意义的。
将元素添加到数组(并更改每个元素的索引)或弹出最近添加的元素有什么好处或在什么情况下有好处?
【问题讨论】:
-
除了 pop/push 更快之外,这实际上取决于您是要在开头还是结尾添加元素