Javascript:过滤具有重复日期的数组

Jun*_*ias 3 javascript arrays angular

我正在使用Angular2,并且有一个带有日期对象(〜1000)的数组。大多数日期对象具有完全相同的日期(例如2016_11_02;日期没有小时和分钟)。通常,数组中应该有大约10-20个不同的日期。

现在,我想过滤此数组并删除重复的日期。因此,最后数组中应该有大约10-20个Date-Objects。

这是我尝试的代码:

let uniqueArray = duplicatesArray.filter(function(elem, pos) {
            return channelEPGDates.indexOf(elem) == pos;
        });
        console.log('unique: ' + uniqueArray.length);
Run Code Online (Sandbox Code Playgroud)

我知道这是不正确的,因为unique-Array具有与旧数组相同的长度。但是,如何在过滤器功能中比较日期本身呢?

非常感谢!

Gre*_*nih 7

我将使用该getTime方法将日期映射到纪元时间,然后将其映射回Date对象。

let uniqueArray = duplicatesArray
.map(function (date) { return date.getTime() })
.filter(function (date, i, array) {
    return array.indexOf(date) === i;
 })
.map(function (time) { return new Date(time); });
Run Code Online (Sandbox Code Playgroud)