JavaScript排序

<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title> new document </title>
  <style type="text/css">
    #bg{
        height:100%;
        widht:100%;
        background-size:cover;
    }
  </style>

</head>
 <body>
      <div  id="bg">
       <div id="source">
            <div>
                <span>30</span>
                <span>上海1</span>
                <span>cwg1</span>
           </div>
                <div>
                <span>27</span>
                <span>上海3</span>
                <span>cwg3</span>
           </div>
            <div>
                <span>32</span>
                <span>上海2</span>
                <span>cwg2</span>
           </div>
       </div>
    
        排序后:
       <div id="divResult">
      </div>
    
    </div>
    
 </body>
 <script type="text/javascript">
   // var bgDom = document.getElementById("bg");
   // bgDom.style.backgroundImage="url(‘1.jpg‘)";
   
    var source = document.getElementById("source")
    //    HTMLCollection对象
    var source =source.children;
    
    //将HTMLCollection对象转换成数组
    var sourceArr = Array.prototype.slice.call(source);
    
    console.info("----------");
    console.info(source.constructor);
    console.info(Object.prototype.toString.call(source));
    console.info( source instanceof  HTMLCollection);
    console.info(source);
    
    console.info("----------");
    console.info(sourceArr.constructor);
    console.info(Object.prototype.toString.call(sourceArr));
    console.info(sourceArr instanceof  Array);
    console.info(sourceArr);
    
    //对数组排序
    var sortArr =  sourceArr.sort(function(a,b){
        //alert(a.children[0].innerHTML +"--"+ b.children[0].innerHTML);
        //alert(a.getElementsByTagName("span")[0].innerHTML + "--" + b.getElementsByTagName("span")[0].innerHTML);
        
        var p1 = parseInt(a.getElementsByTagName("span")[0].innerHTML);
        var p2 = parseInt(b.getElementsByTagName("span")[0].innerHTML);
        if(p1>p2){
           return 1;
        }else {
           return -1;
        }
    });
    
    var divResult = document.getElementById("divResult");
    for(var i=0;i<sortArr.length;i++){
       //divResult.appendChild(sortArr[i]);
       //alert(sortArr[i].outerHTML);
     divResult.innerHTML +=sortArr[i].outerHTML;
    }
    
 
 
 
    
    
 
    
 </script>
</html>

时间: 2024-10-16 22:23:34

JavaScript排序的相关文章

JavaScript排序算法——选择排序

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

JavaScript排序算法——希尔排序

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

JavaScript排序,不只是冒泡

做编程,排序是个必然的需求.前端也不例外,虽然不多,但是你肯定会遇到. 不过说到排序,最容易想到的就是冒泡排序,选择排序,插入排序了. 冒泡排序 依次比较相邻的两个元素,如果后一个小于前一个,则交换,这样从头到尾一次,就将最大的放到了末尾. 从头到尾再来一次,由于每进行一轮,最后的都已经是最大的了,因此后一轮需要比较次数可以比上一次少一个.虽然你还是可以让他从头到尾来比较,但是后面的比较是没有意义的无用功,为了效率,你应该对代码进行优化. 图片演示如下: 代码实现:   function bub

JavaScript 排序算法

排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个对象呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来.通常规定,对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1,这样,排序算法就不用关心具体的比较过程,而是根据比较结果直接排序. JavaScript的Array的sort()方法就是用于排序的,但是排序结果可

前台javascript排序

<script type="text/javascript"> $(function () { $('.Sorthead-ShowUp').click(function () { var filed = $(this).attr("name"); $(".issorting").removeClass("issorting"); $(this).addClass("issorting"); Do

JavaScript排序算法(希尔排序、快速排序、归并排序)

以var a = [4,2,6,3,1,9,5,7,8,0];为例子. 1.希尔排序. 希尔排序是在插入排序上面做的升级.是先跟距离较远的进行比较的一些方法. function shellsort(arr){ var i,k,j,len=arr.length,gap = Math.ceil(len/2),temp; while(gap>0){ for (var k = 0; k < gap; k++) { var tagArr = []; tagArr.push(arr[k]) for (i

JavaScript 排序学习

冒泡排序 选择排序 插入排序 对于好久都不清楚的排序今天理了一下,包括冒泡排序.选择排序.插入排序,写完这个再看看和快速排序的区别.感觉大学学的都还给老师了. ----冒泡 /* 现在有 数组 arr=[4,9,7,1,3] 相邻值之间进行对比,前者比后者大,则进行互换,每一次都会把最大的放到最后面 4 | 9 | 7 | 1 | 3 第一轮 4 | 7 | 1| 3 | 9 第二轮 4 | 1 | 3 | 7 | 9 第三轮 1 | 3 | 4 | 7 | 9 第四轮 1 | 3 | 4 |

JavaScript排序算法——快速排序

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

JavaScript排序算法——冒泡排序

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-