获取数组最后一项

  今天同事问我一个问题,她想要获取数组最后一项,用以下的代码,总是会返回undefined

var arr = [1,2,3];
arr[--arr.length];

给一个数组的 length 设置值,会改变该数组

比如

var exp = [1,2,3];

exp.length = 4 会把 exp 修改成[1,2,3,undefined × 1]

exp.length = 2 会把 exp 修改成[1,2]

--arr.length 相当于 arr.length = arr.length - 1

此时 arr 已经变成[1,2],此时的 arr.length 变为 2,arr[2]=undefined

 

那么如何获取数组最后一项:

方法1.

var arr = [1,2,3];

var lastItem = arr.pop();

但是此方法会改变arr数组,会将最后一项弹出,arr 变为[1,2]

方法2.

var arr = [1,2,3];

var lastItem = arr[arr.length - 1];

此方法不会改变arr数组

 

posted @ 2017-04-14 18:17  cococe  阅读(1107)  评论(0编辑  收藏  举报