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