0

如何从一组数组中返回第一个值?

var arr = [
    ['2009', 1000, 400, 800],
    ['2010', 1170, 460, 1200],
    ['2011', 660, 1120, 500],
    ['2012', 1030, 540, 800]
], res, i, a, b, c, d, e;

!function doMerge() {
    for(i = 0; i < arr.length; i++) {
        res = arr[i];       
        console.log(res.splice(1));
    }    
}(arr)

// get rid of years
// prints    
[1000, 400, 800] 
[1170, 460, 1200] 
[660, 1120, 500] 
[1030, 540, 800] 

我正在尝试构建这些值中的第一个的数组[1000, 1170, 660, 1030]

4

3 回答 3

1
res = [];

function doMerge() {
    for(i = 0; i < arr.length; i++) {
        res.push(arr[i][1]);       
    }    
}

doMerge();

console.log(res);

输出[ 1000, 1170, 660, 1030 ]

于 2013-02-14T01:52:30.890 回答
1
var arr = [
    ['2009', 1000, 400, 800],
    ['2010', 1170, 460, 1200],
    ['2011', 660, 1120, 500],
    ['2012', 1030, 540, 800]
];

var newArr = [];

for (var x = 0; x < arr.length; x++){
  newArr.push(arr[x][1]);
}

console.log(newArr);

这是一个解决方案。

http://jsfiddle.net/wcVZH/

于 2013-02-14T01:54:04.273 回答
0

如果你不想要一个fororwhile循环,你可以用一行Array.prototype.map

var myArr = arr.map(function (a) {return a[1];});
于 2013-02-14T01:56:24.460 回答