我正在使用Angular2,我有一个带有Date-Objects的数组(~1000)。 大多数日期对象都具有完全相同的日期(例如2016_11_02;日期没有小时和分钟)。 通常,阵列中应该有大约10-20个不同的日期。
现在我要过滤此数组并删除重复的日期。 所以最后在数组中应该有大约10-20个日期对象。
这是我试过的代码:
let uniqueArray = duplicatesArray.filter(function(elem, pos) {
return channelEPGDates.indexOf(elem) == pos;
});
console.log('unique: ' + uniqueArray.length);
我知道这是不正确的,因为unique-Array与旧数组的长度相同。但是我怎样才能在过滤函数中比较Dates本身?
非常感谢!
答案 0 :(得分:5)
我会使用Navigation Bar
方法将日期映射到纪元时间,然后将它们映射回getTime
个对象。
Date
答案 1 :(得分:1)
您可以使用Set
和spread syntax ...
。
unique = src => [...new Set(src)];
var unique = src => [...new Set(src)];
array = ["Mike", "Matt", "Nancy", "Adam", "Jenny", "Nancy", "Carl"];
console.log(unique(array));
答案 2 :(得分:0)
您可以像这样使用jQuery:
var names = ["Mike","Matt","Nancy","Adam","Jenny","Nancy","Carl"];
var uniqueNames = [];
$.each(names, function(i, el){
if($.inArray(el, uniqueNames) === -1) uniqueNames.push(el);
});
答案 3 :(得分:-1)
这是一种在Array上使用内置方法的方法。
import fileinput
for line in fileinput.FileInput("Bremgarten_AV.status",inplace=1):
line = line.replace("processing","upload")
print line