1

次のようなデータで満たされたJS配列があります。

var myarr = [[new Date("2011-12-01"), 389, 380.75, 382.54, 387.93],
[new Date("2011-11-30"), 382.28, 378.3, 381.29, 382.2]...]

日付列全体と各行の最後の番号のみを選択する方法はありますか?次のような出力を探しています。

[[new Date("2011-12-01"), 387.93],[new Date("2011-11-30"), 382.2]...]
4

2 に答える 2

1
var myCollapsedArr = [[myarr[0][0], myarr[0][myarr[0].length-1]], [myarr[1][0], myarr[1][myarr[1].length-1]];

またはforループで:

var myCollapsedArr = [];

for(var i = 0; i<myarr.length; i++) {
    myCollapsedArr.push([myarr[i], [myarr[i][myarr[i].length-1]]);
}
于 2012-04-12T12:53:13.213 に答える
1

オプション1-シンプルなforループ

// Create array to hold new values
var newArray = [];
// Loop through existing array and pull out data
for(var i = 0; i < myarr.length; i++) {
    newArray.push([myarr[i][0], myarr[i][myarr[i].length - 1]]);
}

これが実演するための実用的なフィドルです。

オプション2-ECMAScript5forEach ()

// Create array to hold new values
var newArray = [];

// Loop through existing array and pull out data
myarr.forEach(function(obj) {
    newArray.push([obj[0], obj[obj.length - 1]]);
});

これが実演するための実用的なフィドルです。

于 2012-04-12T12:54:27.753 に答える