Javascript 获得今天和昨天';s来自json对象的数据,其中数组/对象键为日期
我正在使用ajax获取每天的销售额列表,下面是返回给我的ajax示例(我完全控制前端和后端,因此请告诉我是否可以更好地改进阵列结构以适应任务) 我想得到今天(2012年9月17日)和昨天的销售额。到目前为止,我有:Javascript 获得今天和昨天';s来自json对象的数据,其中数组/对象键为日期,javascript,Javascript,我正在使用ajax获取每天的销售额列表,下面是返回给我的ajax示例(我完全控制前端和后端,因此请告诉我是否可以更好地改进阵列结构以适应任务) 我想得到今天(2012年9月17日)和昨天的销售额。到目前为止,我有: $.ajax({ url: appPath+'application/sale/json', type: 'POST', dataType: 'json', success: function(response)
$.ajax({
url: appPath+'application/sale/json',
type: 'POST',
dataType: 'json',
success: function(response)
{
var keys = null;
// Get and organise our sales data
jQuery.each(response.salesCount, function(insurer, dayList)
{
controller.salesData[insurer] = {"days": dayList};
keys = Object.keys(controller.salesData[insurer].days);
controller.salesData[insurer].today = controller.salesData[insurer].days[keys[0]];
// Update sales totals
$('#'+insurer+' p.today').html(controller.salesData[insurer].today);
这是可行的,但正如您所想象的,它不是很灵活(我猜尝试依赖对象不存在的顺序是个坏主意)
因此,我尝试根据日期引用sales数组。我试过:
// Work out todays date and sales
var today = new Date();
var todayString = today.getDate()+'/'+today.getMonth()+'/'+today.getFullYear();
console.log(todayString)
console.log(controller.salesData[insurer].days[todayString]);
// outputs: 17/8/2012 and "85"(which is wrong, no idea where it gets that value)
我尝试过改变数组键来删除前斜杠等,但没有乐趣。当然有更好的方法吗
谢谢。要返回今天的销售额,您可以查询JSON对象,如下所示:
var json =
{
"salesCount": {
"ins_1": {
"17/09/2012": 5,
"16/09/2012": 32,
"15/09/2012": 75,
"14/09/2012": 78,
"13/09/2012": 79,
"12/09/2012": 83,
"11/09/2012": 74
}
}
};
var today = new Date();
var month = today.getMonth() + 1;
var dateString = today.getDate() + '/' + (month < 10 ? '0' + month : month) + '/' + today.getFullYear();
var totalSales = json['salesCount']['ins_1'][dateString];
console.log(totalSales); // outputs 5
var-json=
{
“salesCount”:{
“ins_1”:{
"17/09/2012": 5,
"16/09/2012": 32,
"15/09/2012": 75,
"14/09/2012": 78,
"13/09/2012": 79,
"12/09/2012": 83,
"11/09/2012": 74
}
}
};
var today=新日期();
var month=today.getMonth()+1;
var dateString=today.getDate()+'/'+(月<10?'0'+月:月)+'/'+today.getFullYear();
var totalSales=json['salescont']['ins_1'][dateString];
console.log(totalSales);//产出5
var json =
{
"salesCount": {
"ins_1": {
"17/09/2012": 5,
"16/09/2012": 32,
"15/09/2012": 75,
"14/09/2012": 78,
"13/09/2012": 79,
"12/09/2012": 83,
"11/09/2012": 74
}
}
};
var today = new Date();
var month = today.getMonth() + 1;
var dateString = today.getDate() + '/' + (month < 10 ? '0' + month : month) + '/' + today.getFullYear();
var totalSales = json['salesCount']['ins_1'][dateString];
console.log(totalSales); // outputs 5