JavaScript代码有效,但它也不起作用

时间:2014-05-25 22:43:50

标签: javascript error-handling compiler-errors

请:有人可以告诉我......为什么这个代码不适用于所有测试用例?只有一些工作。下面我将把实际的"不正确的"在每个"不正确的"测试结果。但他们毕竟不是正确的结果吗?我只是简单地错误地格式化输出值,因为它们似乎是正确的吗?为什么说我的以下测试用例不正确?请帮忙。 :(

  

CODERBYTE.COM不正确的测试案例报告(得出3/5分)--->

     
    

1。当输入为(78,90,100,1,2)时输出不正确。
     我的实际结果: var arr = [78,90,100,1,2] -outputs-> 90 2

         

2. 当输入为(-4,-5,10,2)时输出不正确。
     我的实际结果: var arr = [-4,-5,10,2] -outputs-> 2 -4

         

3. 当输入为(100,200,3,400,5,1)时输出不正确。
     我的实际结果: var arr = [100,200,3,400,5,1] -outputs-> 200 3

         

4. 当输入为(4,60,7,188)时,输出不正确。
     我的实际结果: var arr = [4,60,7,188] -outputs-> 60 7

  

[在这里开始代码]:

var arr = [...]; //unordered number list of varying sizes goes here

function SecondGreatLow(arr) {
    var input = arr.sort(function(a,b){return (a-b);});
    var hashObject = {};


    for (var i = input.length -1; i >= 0; i--) {
        var currentItem = input[i];
    if (hashObject[currentItem] === true) {
        input.splice(i, 1);
    }
    hashObject[currentItem] = true;
    }
    //alert(input.length + " input.length before final answer returned");                           
    if (input.length > 3) {
      input.pop();
      input.shift();
        var min = Math.min.apply(null,input),
        max = Math.max.apply(null,input);
        return String(max) + " " + String(min);
    }
    else if (input.length === 3) {
      return String(input[1]) + " " + String(input[1]);
    } else {
        var min2 = Math.min.apply(null,input),
        max2 = Math.max.apply(null,input);
        return String(max2) + " " + String(min2);
    }
}

// keep this function call here 
// to see how to enter arguments in JavaScript scroll down
//SecondGreatLow(readline()); //FOR USE ON CODERBYTE.COM ONLY

console.log(SecondGreatLow(arr));

0 个答案:

没有答案