js中数组的操作
2016-10-13 11:49
169 查看
1.数组的创建
var arr1=new Array();//创建一个空数组 var arr2=new Array(5);//声明一个长度为5的数组 var arr3=new Array([5]);//长度为1并且arr[0]=5; var arr4=new Array(1,'javascript',true);//创建并赋值 var arr5=[1,2,'haha'];//创建并赋值简写
2.数组的属性
(1)length属性可以获取数组的长度,length设为0时可以清空数组;(2)prototype属性,数组对象的原型,可以用这个属性给数组中添加功能,如我要在数组中添加一个获取最大值的方法,代码如下:
var arr=[15,34,12,30,24,25]; // 在数组原型中添加了myMax()方法 Array.prototype.myMax=function (){ var n=arr[0]; for (var i=1;i<this.length;i++) { if(arr[i]>n){ n=arr[i]; } } return n; }; console.log(arr.myMax());//结果34
数组中没有获取最小、最大值,看过一个获取最小、最大值的简单方法,就是用到Math中的max()、min()方法,用apply传入参数。如:
Math.max.apply(null,arr);//最大值 Math.min.apply(null,arr);//最小值
(3)constructor属性,返回创建该数组对象的构造函数,如:
console.log(arr.myMax().constructor);//function Number() { [native code] }
3.数组的方法
var arr=[15,34,12,30,24,25]; console.log(arr.pop());//25 console.log(arr);//[15, 34, 12, 30, 24],删除最后一个元素 var arr=[15,34,12,30,24,25]; console.log(arr.shift());//15 console.log(arr);//[34, 12, 30, 24, 25],删除第一个元素 var arr=[15,34,12,30,24,25]; console.log(arr.push(20));//7 console.log(arr);//[15, 34, 12, 30, 24, 25, 20],末尾添加一个元素 var arr=[15,34,12,30,24,25]; console.log(arr.unshift(20));//7 console.log(arr);//[20, 15, 34, 12, 30, 24, 25],开头添加一个元素 var arr=[15,34,12,30,24,25]; arr.splice(2,0,455,676); console.log(arr);//[15, 34, 455, 12, 30, 24, 25],在第二个元素后插入元素 var arr=[15,34,12,30,24,25]; arr.splice(2,2,455,676); console.log(arr);//[15, 34, 455, 676, 24, 25],替换第二个元素后的2个元素 var arr=[15,34,12,30,24,25]; var arr2=['广州','上海','北京']; console.log(arr.concat(arr2));//[15, 34, 12, 30, 24, 25, "广州", "上海", "北京"],数组连接 var arr=[15,34,12,30,24,125]; arr.sort(); console.log(arr);//[12, 125, 15, 24, 30, 34],替换第二个元素后的2个元素 arr.sort(function (a,b){//从小到大排序 return a-b; }); console.log(arr);//[12, 15, 24, 30, 34, 125] var arr=[15,34,12,30,24,125]; console.log(arr.toString());//15,34,12,30,24,125 console.log(arr.join('-'));//15-34-12-30-24-125 console.log(arr.reverse());//[125, 24, 30, 12, 34, 15],反转