破序列javascript

时间:2017-04-25 00:00:10

标签: javascript

我正在从Codewars做kata,我无法通过2次测试。它几乎在那里,但仍然缺少一些东西。此函数必须返回断开序列中缺少的内容。这些是说明:

“找出缺失的数字;如果序列未被破坏,则应返回0.每个序列总是递增1。 简而言之:无效序列(具有非数字字符的字符串)必须返回1,已完成(或空)的序列必须返回0;如果缺少多个数字的断开序列应返回最低缺失数字;否则返回丢失的号码。“

这是链接:http://www.codewars.com/kata/broken-sequence/java

function findMissingNumber(sequence) {
  var max = sequence.slice(-1);
  var min = sequence[0];
  var RegExp = /[abcdefghijklmopqrstuvwxyz]/i;
  
  for (var j = 0; j < sequence.length; j++) {
    if (sequence.charAt(j).match(RegExp)) {
      return 1;
    }
  } //loop

  if (sequence === " " || sequence.length == 0) {
    return 0;
  }
  //
  else {
    sequence = sequence.split(" ").sort().map(function number(value) {
      return parseInt(value);
    });

    var numbers = [];

    for (var i = 1; i <= max; i++) {
      numbers.push(i);
    } //loop

    if (sequence[0] != numbers[0]) {
      return numbers[0];
    } else if (sequence[1] != numbers[1]) {
      return numbers[1];
    } else {
      var totala = sequence.reduce(function(a, b) {
        return a + b
      });
      var totalb = numbers.reduce(function(a, b) {
        return a + b
      });
      return Math.abs(totala - totalb);
    }
  } //main else
} //end
console.log(findMissingNumber(""));

0 个答案:

没有答案