我有两个数组:
var columns = ["Date", "Number", "Size", "Location", "Age"];
var rows = [["2001", "5", "Big", "Sydney", "25"],["2005", "2", "Med", "Melbourne", "50"],["2012", "20", "Huge", "Brisbane", "80"]];
Run Code Online (Sandbox Code Playgroud)
我正在尝试将它们组合成行数组中每个项目的javascript对象.之后,我想将每个对象推送到一个新数组中.
喜欢:
var newarray = [];
//'thing' should be the same structure for each row item
var thing = {
"Date" : "2001",
"Number" : "5",
"Size":"Big",
"Location":"Sydney",
"Age":"25"
}
newarray.push(thing);
Run Code Online (Sandbox Code Playgroud)
当我知道列的名称时,我可以这样做,但是当列名未知时 - 我需要能够以这种方式存储数据 - 即基于列数组的索引.
我之前尝试过这样做:
for(var y = 0; y < rows.length; y++){
for(var i = 0; i < columns.length; i++){
thing[columns[i]] = …Run Code Online (Sandbox Code Playgroud) 我有一个名为objarray的对象数组.每个对象看起来像这样:
var object = {
age: "45"
coords: "-37.807997 144.705784"
date: Sun Jul 28 2002 00:00:00 GMT+1000 (EST)
}
Run Code Online (Sandbox Code Playgroud)
(日期是Date对象)
我需要根据日期将每个对象推送到一个新的数组中.我希望最终结果如下所示:
var dateGroups = [[object, object, object],[object, object], [object, object, object]];
Run Code Online (Sandbox Code Playgroud)
dateGroups中的每个数组都包含具有相同日期的对象.
这可能与数组有关吗?以前我生成了一个新对象,其中包含按日期分组的所有objarray对象(从数据生成的日期):
var alldates = {
"1991" : [object, object, object],
"1992" : [object, object],
//etc...
}
Run Code Online (Sandbox Code Playgroud)
以上看起来在实践中似乎是一个奇怪的解决方案,我只需要能够按年访问对象:即dateGroups [0] =第一年的对象数组
我如何将数据转换为dateGroups数组?是否有更好的方法来存储此类数据?
我正在尝试排序一个看起来像这样的数组:
var dateGroups = [
[
{age:20, date: Fri Feb 03 2012 14:30:00 GMT+1100 (EST)},
{age:12, date: Fri Feb 03 2012 18:20:00 GMT+1100 (EST)},
{age:18, date: Fri Feb 03 2012 21:43:00 GMT+1100 (EST)}
],
[
{age:32, date: Fri Feb 01 2012 10:54:00 GMT+1100 (EST)},
{age:44, date: Fri Feb 01 2012 11:45:00 GMT+1100 (EST)},
],
[
{age:22, date: Fri Feb 05 2012 10:54:00 GMT+1100 (EST)},
{age:22, date: Fri Feb 05 2012 18:22:00 GMT+1100 (EST)},
]
]
Run Code Online (Sandbox Code Playgroud)
dateGroups嵌套数组中的对象已经按升序排序,但我还想根据分组的日期对数组进行排序.
在这种情况下,数组应如下所示:
var dateGroups = …Run Code Online (Sandbox Code Playgroud)