【JS基础】数组

时间:2022-06-20 09:04:43

filter() 返回数组中的满足回调函数中指定的条件的元素。

array1.filter(callbackfn[, thisArg])

对数组array1中的每个元素调用回调函数callbackfn方法,该方法会返回一个在回调函数中返回true的元素的新的集合。可选参数thisArg可以替换回调函数中的this对象

https://technet.microsoft.com/zh-cn/ff679973

sort()  用于对数组的元素进行排序。默认是按字母顺序。

//按照数值大小排序,从小到大
<script type="text/javascript">
function sortNumber(a,b)
{
return a - b
} var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1" document.write(arr + "<br />")
document.write(arr.sort(sortNumber))
</script>

shift()  把数组的第一个元素从其中删除,并返回第一个元素的值。

unshift()  向数组的开头添加一个或多个元素,并返回新的长度。

push()  向数组的末尾添加一个或多个元素,并返回新的长度。

pop()  删除并返回数组的最后一个元素。

forEach() 循环遍历

Firefox 和Chrome 的Array 类型都有forEach的函数,IE中Array 没有这个方法,无法正常工作

http://blog.csdn.net/oscar999/article/details/8671546

二维数组

aqiData[0][0]="北京"
aqiData[0][1]="90"

aqiData[1][0]="上海"
aqiData[1][1]="50" 
    var aqiData = [
["北京", 90],
["上海", 50],
["福州", 10],
["广州", 50],
["成都", 90],
["西安", 100]
]; (function () { /*
遍历读取aqiData中各个城市的数据
将空气质量指数大于60的城市显示到aqi-list的列表中
*/ var str="";
var pos=["一","二","三","四","五","六"];
var outputData=aqiData.filter(function(value){
return value[1]>60;
}).sort(function(a,b){
return b[1]-a[1];
});
outputData.forEach(function(value,index){
str+="<li>第"+pos[index]+"名:"+value[0]+","+value[1]+"</li>";
});//value代表遍历到的值,value[0],代表数组第一列,value[1]代表数组第二列
document.getElementById("aqi-list").innerHTML=str; })();

function(index,value),index为元素在对象集合中的索引位置,value是原先的属性值。

map()  返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组,它不会改变原来的数组

call()  调用一个对象的一个方法,以另一个对象替换当前对象

var array=[1,2,3,4,5];//定义一个数组,实现数组元素的遍历。
//用For...in实现
for(var i in array){
alert(array[i]);//数组的元素
}
//用for循环实现
for(var i=0;i<array.length;i++){
alert(array[i]);//数组的元素
}