为什么array [array.length]返回undefined?

时间:2018-05-04 18:08:00

标签: javascript arrays

我正在尝试访问数组的最后一个值,但不明白为什么这不起作用。

const arr = [2 , 3, 6, 8];
const end = arr[ arr.length ];
console.log(end);

但是当我尝试使用控制台记录它返回4的值时,这就是我之前使用的代码:

console.log(arr.length);

4 个答案:

答案 0 :(得分:4)

数组从零开始索引。这意味着数组的第一个元素由下标0索引,最后一个元素将是length - 1



const arr = [2 , 3, 6, 8];
const end = arr[ arr.length - 1 ];
console.log(end);




答案 1 :(得分:2)

JavaScript数组索引从0开始计数。所以......

arr[0]评估为2

arr[1]评估为3

arr[2]评估为6

arr[3]评估为8

arr.length评估为4,因为数组中有4个元素

arr[4]指的是数组中的第5个元素,在您的示例中为undefined

答案 2 :(得分:0)

数组是0索引的。可以使用arr[arr.length - 1]访问数组的最后一项。在您的示例中,您尝试访问不存在的索引处的元素。

答案 3 :(得分:0)

Array索引始终以0开头,Array length等于数组中元素的计数

value   => [2,3,6,8]
indexes => [0,1,2,3]

这就是arr[4]undefined的原因,因为索引4没有值。

const arr = [2 , 3, 6, 8];
const end = arr[ arr.length-1 ];
console.log(end);