用数组的pop()方法踩的坑

139 阅读1分钟

今天来修改之前写的一段代码 要从数组里取出最后一个元素(数组长度固定) 看之前的代码是someArr[1]这样取的, 今天我去改成someArr.pop() 结果程序没法运行了. 我还排查了好一会, 没意识到就是pop()方法影响到我的数据结构了.

官方是这样说的:

Array.prototype.pop()

pop() 方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。

我还真没注意看最后一句 此方法更改数组长度, 该方法在获取了数组的最后一个元素的同时也将原数组的最后一个元素给删除了. 都怪自己太粗心, 这种错太不应该了

就不能用pop()方法了吗 转换一下数据 用ES6的语法 [...someArr].pop() 就可以了

哎 太粗心了...