code: function makeDateFromStringAndArray(string, formats) {
          var output,
              inputParts = string.match(parseMultipleFormatChunker) || [],
              formattedInputParts,
              scoreToBeat = 99,
              i,
              currentDate,
              currentScore;
          for (i = 0; i < formats.length; i++) {
              currentDate = makeDateFromStringAndFormat(string, formats[i]);
              formattedInputParts = formatMoment(new Moment(currentDate), formats[i]).match(parseMultipleFormatChunker) || [];
              currentScore = compareArrays(inputParts, formattedInputParts);
              if (currentScore < scoreToBeat) {
                  scoreToBeat = currentScore;
                  output = currentDate;
              }
          }
          return output;
      }
docs: date from string and array of format strings