function removeDuplicates(feed) { var prev, cur, prevEvent, curEvent, i, options = { ignoreCase: true, ignoreCommonWords: true, common: [ 'singapore', 'meetup' ], depluralize: true }, indexToRemove = []; for (i = 1; i < feed.length; i++) { prev = feed[i - 1]; prevEvent = prev.name + ' at ' + prev.location + ' by ' + prev.group_name; cur = feed[i]; curEvent = cur.name + ' at ' + cur.location + ' by ' + cur.group_name; if (prev.formatted_time === cur.formatted_time) { if (overlap(prevEvent, curEvent, options).length > 0) { indexToRemove.push(i); } } } indexToRemove.forEach(function(element) { feed.splice(element - 1, 1); }) return feed; }
exports.percentOverlap = function (source, compare) { if (source.split(' ').length < 3 || compare.split(' ').length < 3) return 0 var baseLine = overlap(source, source, { ignoreCase: true, minWordLength: 2, ignoreCommonWords: true, depluralize: true }).length var results = overlap(source, compare, { ignoreCase: true, minWordLength: 2, ignoreCommonWords: true, depluralize: true }).length return results / baseLine * 100 }