数组第三天
创建数组
var arr=[];
var arr=new Array();
数组的属性length 不是只可以读的 可以从数组的末尾添加和移除选项
var colors=['red','grg','LLL'];
colors.length=2;
alert(colors[2]) undefined
检测数组
if(values instanceof Array){}
if(Array.isArray(value)){} //不管在哪个全局环境创建的
转换方法 转换成以逗号分隔的字符串形式
var colors=['red','grg','LLL'];
alert(colors.join(' ,'));
alert(colors.join( )); 默认是逗号
栈方法和队列方法
pop和push 栈方法 后进先出
shift()和unshift 队列方法 先进先出
数组方法
1.数组连接方法:concat()方法
document.write(mya.concat(4,5)+"<br>");
2 分隔
document.write(myarr.join("."));
I.love.JavaScript
3.创建
Var myarr=new Array(3);
4.颠倒
document.write(myarr.reverse())
5.选定元素
arrayObject.slice(start,end)
如果为负数,那么它规定从数组尾部算起 -1为最后一个元素,-2为倒数第二个元素
6.数组排序
<script type="text/javascript">
function
sortNum(a,b) {
return a
- b;
//升序,如降序,把“a - b”该成“b - a”
}
var myarr
= new
Array("80","16","50","6","100","1");
document.write(myarr + "<br>");
document.write(myarr.sort(sortNum));
</script>
7.数组删除元素
var
arr=[1,2,3,4,5];
arr.splice(2);//returns [3,4,5]
arr;//[1,2]
var arr=[1,2,3,4,5];
arr.splice(2,2);//returns [3,4]
arr;//[1,2,5]
var arr=[1,2,3,4,5];
arr.splice(1,1,"a","b");//returns
[2]
arr;//[1,"a","b",3,4,5]
8.数组遍历
var arr=[1,2,3,4,5];
arr.forEach(function(x,index,a) {
document.write(x + "|" +index +"|" + (a===arr));
});
9.数组映射 map
arr.map(function(x){
return x+10;
})
10.数组过滤:filter()方法
arr.filter(function(x,index){
return
index%3===0||x>=8;
});
11. 数组检索:indexOf()和lastIndexOf()方法,用于检索每个元素在数组中的索引值。lastIndexOf()表示从后往前检索。
语法:arrayObject.indexOf(x,start),arrayObject.lastIndexOf(x,start)
12.数组判断
reduce()和reduceRight()方法,用于数组元素之间的两两比较,最终得到一个值(把数组聚合成一个结果),如:找最大值
,求和。而reduceRight()表示从右边开始两两比较
var values=[1,2,3,3,5];
var sum=values.reduce(function(prev,cur,index,value){
return prev+cur;
})
alert(sum); //14