我有两个数组,Array1中有大约500个Date()对象。 Array2有大约200个Date()对象。所有这些日期都是单独的实例,但Array2 Date()对象将在Array1中具有匹配的Date()。
我需要从Array1的内容中删除Array2的内容。
我考虑过从array1创建一个单独的unix时间戳数组进行比较,但我希望有一种更简单/更有效的方法。
答案 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个日期的数组时,效率不应该是一个问题。