Javascript – Übungen mit einem Array von Objekten
大家讲道理
大家讲道理 2017-05-19 10:17:48
0
2
401
  <!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>IFE JavaScript Task 01</title>
  </head>
<body>

  <h3>污染城市列表</h3>
  <ul id="aqi-list">
<!--   
    <li>第一名:福州(样例),10</li>
      <li>第二名:福州(样例),10</li> -->
  </ul>

<script type="text/javascript">
var aqiData = [
  ["北京", 90],
  ["上海", 50],
  ["福州", 10],
  ["广州", 50],
  ["成都", 90],
  ["西安", 100]
];
(function () {
  /*
  在注释下方编写代码
  遍历读取aqiData中各个城市的数据
  将空气质量指数大于60的城市显示到aqi-list的列表中
  */
  var cont=document.getElementById("aqi-list");
  var List=new Array();
  var j=0;
  // 获取分数大于60的数组
  for(var i=0;i<aqiData.length;i++){
    // console.log(aqiData[i][1]);
    if(aqiData[i][1] > 60){
      List[j]=aqiData[i];
      j++;
    };
  };
  // 排序 升序
  List.sort(function(x,y){
    return x[1]-y[1];
  });
  //降序
  List.reverse();
  // 输出数组
  for(var m=0;m<List.length;m++){
    // console.log(List[m]);
    var newnode=document.createElement("li");
    newnode.innerHTML="第"+(m+1)+"名:"+List[m][0]+",得分:"+List[m][1];
    cont.appendChild(newnode);
  };
})();
</script>
</body>
</html>


各位好,请问这段代码中:
a、if(aqiData[i][1] > 60){
      List[j]=aqiData[i];
      j++;
    };
    aqiData[i][1]中,中括号里的1该如何理解??
b、 List.sort(function(x,y){
    return x[1]-y[1];
  });
  这里要进行排序, x[1]-y[1]这中间的1又要如何理解呢!
  先感谢各位!!!
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

Antworte allen(2)
洪涛

给的原始数据是一个数组,第 0 项是城市,第 1 项是指数。
a: aqiData[i] 只是获取到数组的每一个子数组,也就是类似 ["西安", 100] ,aqiDatai 是获取到了指数,才能进行比较
b: sort 中的排列函数的参数是数组 List 的每一项值,同样也是小数组,所以需要通过 X[1] 获取具体的指数,进行比较重排序

伊谢尔伦

你这是一个二维数组,中括号里的1就代表污染指数的数字呀,取个例子[["北京", 90]...],你这里面的i一开始是0,所以
aqiData[0]代表的就是数组中的第一个数组也就是["北京", 90],所以aqiData0表示的是“北京”,aqiData0表示的是90。后面那个排序里面的1就是数组中的第二个元素的值,具体要看你这个函数怎么用。你这里应该也是用来比较污染指数的高低,传入的参数应该就是["北京", 90]这种数组,所以x[1]、y[1]指的还是污染指数的数字,跟前面那个一样。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage