Javascript - 从另一个Date()对象数组中删除Date()对象的数组

时间:2015-12-31 21:28:08

标签: javascript date

我有两个数组,Array1中有大约500个Date()对象。 Array2有大约200个Date()对象。所有这些日期都是单独的实例,但Array2 Date()对象将在Array1中具有匹配的Date()。

我需要从Array1的内容中删除Array2的内容。

我考虑过从array1创建一个单独的unix时间戳数组进行比较,但我希望有一种更简单/更有效的方法。

1 个答案:

答案 0 :(得分:3)

尝试这样的简单过滤器:

var values = Array2.map(function(date) { return date.getTime(); });
var unique = Array1.filter(function(date) { return values.indexof(date.getTime()) == -1 });

如果Array1中的日期也在Array2中(如果indexof不是-1),那么它将被过滤掉。当您一次只使用200 - 500个日期的数组时,效率不应该是一个问题。