如何获取数组数组的最后一个数字

How to get last number of an array of arrays?

本文关键字:数组 最后一个 数字 获取 何获取      更新时间:2023-09-26

我有一个数组。它由 10 个数组组成。

var arr = [[], [], [], [], [], [], [], [], [], []];

这 10 个数组中的每一个都有不同数量的数字。我想获取那 10 个数组中的最后一个数字。

我尝试过这样做:

var lastNums = [];
var i = 0;
var j = 0;
for (var k = 0; k < 10; k++) {
    i = arr[k].length - 1;     //This code gets number of the last number
    lastNums[j] = arr[k][i];
    j++;
}

但它似乎不起作用。在Chrome控制台中,我得到:

类型错误: 无法读取未定义的属性"长度"

如果在定义数组 arr 时没有错误,可以执行以下操作:

lastNumbers = arr.map(function(k){
   return k[k.length - 1];
})

现在,lastNumbers 数组将保存 arr 中每个数组的最后一个数字。使用内置数组映射功能的好处是你没有需要关心阵列的大小。上述解决方案适用于任何数组的长度。

var arr = [[1,2,3], [4,5,6,7], [8,5,6], [1,6,4,2], [8,6,3,2], [4,5,7,8], [5,4,2,2,1], [5,6,7], [4], [8,8]];
var lastNums = [];
for(var i=0;i<arr.length;i++){
    if(arr[i].length > 0){
        lastNums.push(arr[i][arr[i].length-1]);
    }
}
alert(lastNums);