我有一个充满数据的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]...]
答案 0 :(得分: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]]);
}
答案 1 :(得分:1)
选项1 - 简单循环
// 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]]);
}
这是a working fiddle来演示。
选项2 - ECMAScript 5 forEach()
// 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]]);
});
这是a working fiddle来演示。