这样最好用数组,然后用数组的排序 sort(),再取第一个和最后一个值就OK了!

解决方案 »

  1.   

    可不可以帮帮忙,把代码写出来呢~~因为我不会写javascript只会看,呵呵~~
      

  2.   

    <input id="t1" type="text" value="3">
    <input id="t2" type="text" value="8">
    <input id="t3" type="text" value="6">
    <input type="button" value="look" onclick="look();">
    <script>
    function look(){
    var list = new Array(3);
    list[0] = document.getElementById("t1").value;
    list[1] = document.getElementById("t2").value;
    list[2] = document.getElementById("t3").value;
    list.sort();
    alert("min:"+list[0]+",max:"+list[list.length-1]);
    }
    </script>
      

  3.   

    排序的效率并不是十分的高,你可以使用 Math.max() 此类的函数来完成:<input id="t1" type="text" value="3">
    <input id="t2" type="text" value="8">
    <input id="t3" type="text" value="6">
    <input type="button" value="look" onclick="look();">
    <script>
    function look()
    {
      var list = new Array(3);
      list[0] = document.getElementById("t1").value;
      list[1] = document.getElementById("t2").value;
      list[2] = document.getElementById("t3").value;
      //list.sort();
      //alert("min:"+list[0]+",max:"+list[list.length-1]);
      alert(Math.max.apply(null, list));
      alert(Math.min.apply(null, list));
    }
    </script>
      

  4.   

    你甚至连这个 array 都可以省略掉,直接调用 Math.max() Math.min() :<input id="t1" type="text" value="3">
    <input id="t2" type="text" value="8">
    <input id="t3" type="text" value="6">
    <input type="button" value="look" onclick="look();">
    <script>
    function look()
    {
      alert(Math.max.call(null
        ,document.getElementById("t1").value
        ,document.getElementById("t2").value
        ,document.getElementById("t3").value
      ));
      alert(Math.min.call(null
        ,document.getElementById("t1").value
        ,document.getElementById("t2").value
        ,document.getElementById("t3").value
      ));
    }
    </script>
      

  5.   

    请教meizz(梅花雪):直接Math.max(),Math.min()就可以了,为什么还要调用apply,call方法?Array.sort()排序的效率并不是十分的高,你可以使用 Math.max() 此类的函数来完成
    后者比前者效率高的依据在哪里?
      

  6.   

    function fArOdr(oAr, nParam){
      if(!nParam)var nParam=1;
      switch(nParam){
       case 2: return oAr.reverse();
       case 3: return oAr.sort(function(a,b){return a-b;});
       case 4: return oAr.sort(function(a,b){return b-a;});
       default: return oAr.sort();
      }
     } // shawl.qiu script
      

  7.   

    Math.max() 的操作相当于一个单循环,
    Array.sort() 对于乱序有数组而言,操作的次数要多于单循环的操作数,所以效率不如上者。第二个回复用call我算是画蛇添足了。
      

  8.   

    Math.max() 的操作相当于一个单循环,
    Array.sort() 对于乱序有数组而言,操作的次数要多于单循环的操作数,所以效率不如上者。max是O(n)级的,而排序算法至少是O(nlogn)级的。
      

  9.   

    谢谢各位大虾,我也明白了,谢谢 dh20156(风之石)已经解决了,还有meizz(梅花雪)也给我们看到了更多的方法,我学到了不少,总之谢谢你们!
      

  10.   

    通常对于元素比较多的数组,我非常同意meizz(梅花雪)的观点,但我的意思是就本题而言,sort()和max()算法的优劣从何谈起?