获取数组最后一项
今天同事问我一个问题,她想要获取数组最后一项,用以下的代码,总是会返回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数组