Exemple #1
0
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
}