javascript - 一个对象数组的练习

查看:76
本文介绍了javascript - 一个对象数组的练习的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

  <!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又要如何理解呢!
  先感谢各位!!!

解决方案

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

这篇关于javascript - 一个对象数组的练习的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆