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

时间:2013-10-20 16:25:59

标签: javascript arrays

我有一个数组。它由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控制台中,我得到:

  

TypeError:无法读取未定义的属性“length”

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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);