Javascript 使用日期时间对json数据进行分组
我需要按日期、月份、星期和日期对json数据进行GROUP。 我使用RESTAPI,无法获得分组的json数据。 我需要按月、周和日对数据进行分组: 所以它是一个级联json对象 年份:{月份:{day1:{data1,data2…}, 第2天:{..}, 月2:{..}} 还有其他想法吗 这是我获取数据的第一个函数:Javascript 使用日期时间对json数据进行分组,javascript,json,Javascript,Json,我需要按日期、月份、星期和日期对json数据进行GROUP。 我使用RESTAPI,无法获得分组的json数据。 我需要按月、周和日对数据进行分组: 所以它是一个级联json对象 年份:{月份:{day1:{data1,data2…}, 第2天:{..}, 月2:{..}} 还有其他想法吗 这是我获取数据的第一个函数: getListItems(_spPageContextInfo.webAbsoluteUrl, "Activites", "", FillFormat_JSONDate, "")
getListItems(_spPageContextInfo.webAbsoluteUrl, "Activites", "", FillFormat_JSONDate, "");
function getListItems(url, listname, query, complete, failure) {
// Executing our items via an ajax request
$.ajax({
url: url + "/_api/web/lists/getbytitle('" + listname + "')/items" + query,
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
complete(data); // Returns JSON collection of the results
},
error: function (data) {
//failure(data);
alert("failure");
}
});
}
function FillFormat_JSONDate(dataitems) {
var jsonStr = JSON.stringify(dataitems.d.results);
var jsonPars = JSON.parse(jsonStr);
//map data from SPList to Array
var jsonYearformat = {};
var SPListItemP = $.map(jsonPars, function (item) {
var date = new Date(item.Created);
// push data into jsonYearformat
return false;
});
}
我使用以下代码获得分组:
i = 0,
groups = {};
var year;
var day;
var month;
var SPListItemP = $.map(jsonPars, function (item) {
elt = new Date(item.IPS_START);
year = elt.getFullYear();
month = elt.getMonth() + 1;
day = elt.getDate();
groups[year] || (groups[year] = {}); // exists OR create {}
groups[year][month] || (groups[year][month] = []);
groups[year][month][day] || (groups[year][month][day] = []); // exists OR create []
groups[year][month][day].push(item);
return false;
});
这个函数的前两行完成了什么?看起来您将其编码为JSON字符串,然后立即再次解码。。。为什么?数据项的格式是什么?是表格格式吗?dataitems是json对象:dataitems.d.results,是表格格式