从零开始学习javascript项目(1)
目标:学习简单的javascript数据操作
我们已经有了一个含有各个城市名称和对应的空气质量的数组,把这个数组中空气质量大于60的城市挑选出来并且对其进行排序
需要的相关知识
- javascript中的排序算法
- javascript中的基本逻辑的使用
- 如何读取、处理数据,并动态创建、修改DOM中的内容
javascript中的排序算法
这大概是最简单的内容了吧。对数组排序什么的。只要用到sort方法就好了。还是稍微提一下。sort的使用方法大概是这样的 arr.sort([compareFunction])
这里面compareFunction是一个可选函数,方法默认使用字符串的诸个字符的Unicode位点进行排序。我们对一个数组进行排序,就像下面这样
var aqiData = [
["北京", 90],
["上海", 50],
["福州", 10],
["广州", 50],
["成都", 90],
["西安", 100]
];
console.log(aqiData);
console.log("\n")
aqiData.sort(function(a,b){
return b[1] - a[1];
})
console.log(aqiData);
我们可以看到,sort自带的函数里面的两个参数,当函数返回为真的时候,第一个参数会被排到前面,因为我们需要逆序,所以使用第二个元素减去第一个元素就好了。
使用javascript去操作DOM中的数据
就像我们上一篇文档里面提到的。使用xx.innerHTML = ""
就好了
DOM中创建的元素然后添加到最后
var oLi = document.createElement("li");
oList.appendChild(oLi);
然后就是对数组中的数据进行排序然后输出,这属于最基本的算法了。我这里罗列一下代码。大家自行体会一下。
<!--//前面HTML里面的内容 -->
<ul id="aqi-list">
</ul>
//获得对应的DOM
var oList = document.getElementById("aqi-list");
for(var i=0; i<aqiData.length; i++){
if(aqi-list[i][1]>60){
var oLi = document.creatElement("li");
oLi.innerHTML = aqiData[i][0]+','aqiData[i][1];
oList.appendChild(oLi);
}
}
到这里,有一个简单的项目就结束了,这是一个铺垫性质的项目,在接下的项目里,我们会尝试进行一些更有挑战性的项目。