我正在使用 ajax 来获取每天的销售列表,下面是返回给我的 ajax 示例(我完全控制了前端和后端,所以让我知道是否可以更好地改进数组结构以适应任务);
{
"map": [ … ],
"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,
...
"ins_2": {
etc
我想获得今天和昨天的销售额(17/09/2012)。到目前为止,我有这个:
$.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);
这工作正常,但正如您可以想象的那样,它不是很灵活(我猜想尝试依赖对象不存在的顺序是个坏主意)。
因此,我试图根据日期引用销售数组。我试过了:
// 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)
我尝试更改数组键以删除正斜杠等,但没有任何乐趣。当然有更好的方法来做到这一点?
谢谢你。