Javascript 如何知道数组对象中有多少数据具有不同的日期

Javascript 如何知道数组对象中有多少数据具有不同的日期,javascript,arrays,json,object,filter,Javascript,Arrays,Json,Object,Filter,大家好 在这种情况下,我在数组中有数据object,每个数据都有一个Unix时间或一个日期,我想计算有多少数据具有不同的日期或日期,目标是获取每天、每周、每月以及每年的收入平均值 正如您可以在下面看到我的代码,我有9个数据和4个不同的日期或天数,这意味着我有4个计数的数据有一个不同的日期,但我如何才能动态地得到?对不起我的英语 让我的数据=[ { 日期:1592918643305, 姓名:“亚历克斯” }, { 日期:1592921952307, 姓名:“西蒙” }, { 日期:159292

大家好
在这种情况下,我在
数组中有数据
object
,每个数据都有一个
Unix时间或一个日期,我想计算有多少数据具有不同的日期或日期,目标是获取每天、每周、每月以及每年的收入平均值

正如您可以在下面看到我的代码,我有9个数据和4个不同的日期或天数,这意味着我有4个计数的数据有一个不同的日期,但我如何才能动态地得到?对不起我的英语

让我的数据=[
{
日期:1592918643305,
姓名:“亚历克斯”
},
{
日期:1592921952307,
姓名:“西蒙”
},
{
日期:1592927378630,
名字:“福瑞”
},
{
日期:1592987102694,
名字:“约翰”
},
{
日期:1592987102694,
姓名:'Erwin'
},
{
日期:1593422810672,
姓名:“穆勒”
},
{
日期:1593424811785,
名字:“托马斯”
},
{
日期:1593478227245,
姓名:“Max”
},
{
日期:1593478293013,
名字:“汤姆”
}
];
函数convertToRegularDate(unix){
设regularDate=新日期(unix);
让year=regularDate.getFullYear();
let month=regularDate.getMonth();
let date=regularDate.getDate();
返回日期:'+日期+'/'+月份+'/'+年份;
}
MyData.forEach(函数(项){
console.log('Name:'+item.Name+'+
convertToRegularDate(项目日期)
);
});您可以使用

你可以用


您可以创建一个数组来存储唯一的日期,方法是按下从编写的函数中处理的日期字符串。如果这些日期字符串是唯一的,那么它们将是比较的方式。因此,在for each中处理完所有数据后,就可以得到数组的长度

让我的数据=[
{
日期:1592918643305,
姓名:“亚历克斯”
},
{
日期:1592921952307,
姓名:“西蒙”
},
{
日期:1592927378630,
名字:“福瑞”
},
{
日期:1592987102694,
名字:“约翰”
},
{
日期:1592987102694,
姓名:'Erwin'
},
{
日期:1593422810672,
姓名:“穆勒”
},
{
日期:1593424811785,
名字:“托马斯”
},
{
日期:1593478227245,
姓名:“Max”
},
{
日期:1593478293013,
名字:“汤姆”
}
];
函数convertToRegularDate(unix){
设regularDate=新日期(unix);
让year=regularDate.getFullYear();
let month=regularDate.getMonth();
let date=regularDate.getDate();
返回日期:'+日期+'/'+月份+'/'+年份;
}
让uniqueDates=[];
MyData.forEach(函数(项){
让dateString=convertToRegularDate(item.date);
如果(!uniqueDates.includes(日期字符串)){
uniqueDates.push(日期字符串);
}
console.log('Name:'+item.Name+''+dateString);
});

console.log('唯一日期:'+唯一日期.length)您可以创建一个数组来存储唯一的日期,方法是按下从编写的函数中处理的日期字符串。如果这些日期字符串是唯一的,那么它们将是比较的方式。因此,在for each中处理完所有数据后,就可以得到数组的长度

让我的数据=[
{
日期:1592918643305,
姓名:“亚历克斯”
},
{
日期:1592921952307,
姓名:“西蒙”
},
{
日期:1592927378630,
名字:“福瑞”
},
{
日期:1592987102694,
名字:“约翰”
},
{
日期:1592987102694,
姓名:'Erwin'
},
{
日期:1593422810672,
姓名:“穆勒”
},
{
日期:1593424811785,
名字:“托马斯”
},
{
日期:1593478227245,
姓名:“Max”
},
{
日期:1593478293013,
名字:“汤姆”
}
];
函数convertToRegularDate(unix){
设regularDate=新日期(unix);
让year=regularDate.getFullYear();
let month=regularDate.getMonth();
let date=regularDate.getDate();
返回日期:'+日期+'/'+月份+'/'+年份;
}
让uniqueDates=[];
MyData.forEach(函数(项){
让dateString=convertToRegularDate(item.date);
如果(!uniqueDates.includes(日期字符串)){
uniqueDates.push(日期字符串);
}
console.log('Name:'+item.Name+''+dateString);
});
console.log('唯一日期:'+唯一日期.length)
让我的数据=[
{
日期:1592918643305,
姓名:“亚历克斯”
},
{
日期:1592921952307,
姓名:“西蒙”
},
{
日期:1592927378630,
名字:“福瑞”
},
{
日期:1592987102694,
名字:“约翰”
},
{
日期:1592987102694,
姓名:'Erwin'
},
{
日期:1593422810672,
姓名:“穆勒”
},
{
日期:1593424811785,
名字:“托马斯”
},
{
日期:1593478227245,
姓名:“Max”
},
{
日期:1593478293013,
名字:“汤姆”
}
];
函数convertToRegularDate(unix){
设regularDate=新日期(unix);
让year=regularDate.getFullYear();
let month=regularDate.getMonth();
let date=regularDate.getDate();
返回日期:'+日期+'/'+月份+'/'+年份;
}
MyData.forEach(函数(项){
console.log('Name:'+item.Name+'+
convertToRegularDate(项目日期)
);
}); 
const getUniqDates=(data)=>[…新集合(data.map(item=>新日期(item.Date).toLocaleDateString())]
const uniqDates=getUniqDates(MyData)
console.log(“您有”+uniqDates.length+“uniq dates>>”,…uniqDates)
让我的数据=[
{
日期:1592918643305,
姓名:“亚历克斯”
},
{
日期:1592921952307,
姓名:“西蒙”
},
{
日期:1592927378630,
名字:“福瑞”
},
{
日期:1592987102694,
名字:“约翰”
},
{
日期:1592987102694,
姓名:'Erwin'
},
{
日期:1593422810672,
姓名:“穆勒”
},
{
日期:1593424811785,
名字:“托马斯”
},
{
日期:1593478227245,
姓名:“Max”
},
{
日期:1593478293013,
名字:“汤姆”
}
];
函数convertToRegularDate(unix){
设regularDate=新日期(unix);
让year=regularDate.getFullYear();
let month=regularDate.getMonth();
let date=regularDate.getDate();
返回日期:'+日期+'/'+月份+'/'+年份;
}
MyData.forEach(fu)
// Set is an object type that has unique values
const set = new Set()

// Iterate through your array
for (let o of MyData) {
    set.add(o.date)
}

// convert to regular date
set.forEach(unixDate => convertToRegularDate(unixDate))

// print the count of data with different date
console.log(set.size)