1 !DOCTYPE html>
 2 <html>
 3   <head>
 4     <meta charset="utf-8">
 5     <title>IFE JavaScript Task 01</title>
 6   </head>
 7 <body>
 8   <h3>污染城市列表</h3>
 9   <ul id="aqi-list">
10 <!--   
11     <li>第一名:福州(样例),10</li>
12       <li>第二名:福州(样例),10</li> -->
13   </ul>
14 <script type="text/javascript">
15 var aqiData = [
16   ["北京", 90],
17   ["上海", 50],
18   ["福州", 10],
19   ["广州", 50],
20   ["成都", 90],
21   ["西安", 100]
22 ];
23     (function() {
24       /*
25       在注释下方编写代码
26       遍历读取aqiData中各个城市的数据
27       将空气质量指数大于60的城市显示到aqi-list的列表中
28       */
29       aqiData.sort(function(a,b){
30         return b[1]-a[1];
31       })    //排序
32       var ul_Node = document.getElementById('aqi-list');
33       for (var i = 0; i < aqiData.length; i++) {
34         var data = aqiData[i];
35         if (data[1] > 60) {
36           var li = document.createElement("li");
37           li.innerHTML = '' + (i + 1) + '名:' + data[0] + ',' + data[1];
38           ul_Node.appendChild(li);
39         }
40       }
41     })();
42 </script>
43 </body>
44 </html>

  其中涉及到了一些小点:

  1、sort方法的用法:返回一个元素已经排序后的Array对象。

  arrayobj.sort(sortfunction);

  arrayobj是必选项,为任意的array对象。而sortfunction为可选项,是用来确定元素顺序的函数名称。当参数被省略时,元素将按照ASCII码顺序进行升序排列。

  sort方法将Array对象进行适当的排序,执行过程中并不会创建新的Array对象。

  如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一: 

  负值,如果所传递的第一个参数比第二个参数小。 
  零,如果两个参数相等。 
  正值,如果第一个参数比第二个参数大。 
  Demo(默认按字母排序):

1 <script language="javascript"> 
2   var nameArr = new Array("douguoqiang","hedan","redhacker","panliu888","maxuan","xuejianping","lanse","zhangsan","lisi","wangwu"); 
3   nameArr.sort(); 
4   for (var i = 0; i < nameArr.length; i++) { 
5     document.writeln(nameArr[i]); 
6   } 
7 </script> 

  Demo(数字排序,sort(sortfunction)方法带参数):升序排序

1 <script> 
2   var numArr = new Array(12,23,1,4,23,34,2,5); 
3   numArr.sort(function compare(a,b){return a-b;}); 
4   for (var i = 0; i<numArr.length; i++) { 
5     document.write(numArr[i] +"<br>"); 
6   } 
7 </script> 

  Demo3(降序排序):

1 <script> 
2   var numArr = new Array(12,23,1,4,23,34,2,5); 
3   numArr.sort(function compare(a,b){return b-a;}); 
4   for (var i = 0; i<numArr.length; i++) { 
5     document.write(numArr[i] +"<br>"); 
6   } 
7 </script> 

  当然Demo3可以根据函数的不同申明方式有不同的变式。

  

posted on 2016-04-04 16:07  suvllian  阅读(131)  评论(0)    收藏  举报