我需要通过键的最后两位对来自对象的数据进行排序,并输出到包含4个元素的数组中。
我需要获取日期1到7、1到14、1到21和30的数据。我将密钥切成最后2个字符,然后决定在整个循环中检查其值并返回四个变量之一
不幸的是,将对象转换为字符串后,我无法访问数据,而且我敢肯定,有很多方法比这要简单得多,由于我的经验不足,所以我无法猜测。
我需要一个类似[data1, data2, data3, data4]
的数组,其中data1是从2018-10-01
到2018-10-07
的日期的总和,data2
是从{{1的日期的总和}}到2018-10-01
等
我将不胜感激!
2018-10-14
答案 0 :(得分:0)
您可以将所需的总天数作为一个数组,然后对该数组进行迭代以添加值。
function test() {
var result = Array.from({ length: 4 }).fill(0),
days = [7, 14, 21, 31],
key,
day,
i;
for (key in dates) {
day = +key.substr(-2);
i = days.length;
while (day <= days[--i]) {
result[i] += dates[key];
}
}
return result;
}
var dates = { '2018-10-10': 14, '2018-10-11': 3, '2018-10-17': 5, '2018-10-23': 3, '2018-10-18': 1 }
console.log(test());