js数组的一些用法

数组作为js中比较常用的一个容器,简单记录一些常用的方法,作为查询工具使用;

1 声明

var array1=new Array();//比较标准的方式
var array2=[];//也可以随意一些
var array3=[1,2,3,4];//直接初始化

2 添加移除元素;array.push(item...);array.pop();

		var array1=[];
		array1[0]=1;//直接赋值,且不用担心下标越界的问题
		array1.push(2);//直接在后面追加 
		array1.push(3);// array1[1,2,3]
		array1.pop();//末尾删除 类似堆栈(stack) array1[1,2]
		array1.push(3,4);//也可以同时多个 array1[1,2,3,4]
		array1.push([5,6,7,],8);//不限制类型 array1[1,2,3,4,[5,6,7],8]

3 遍历

		var array1=[10,20,30,40];
		//循环前一般需要做下判断
		if(array1&&array1.length){
			//TO-DO 
		}else{
			//数组不存在或者 为空的情况
		}
		array1.forEach(function(item,index){//forEach;比较少用
			console.log('forE:'+item);
		});
		array1.forEach((i,index)=>{//forEach + Lambda表达式
			console.log("forEach:"+i);
		});
		for(var a in array1){// 不考虑顺序可以用;比较少用
			console.log('a:'+array1[a]);
		}
		for(var i=0;i<array1.length;i++){//普通for循环 排序时使用;一般的用法
			console.log('for:'+array1[i]);
		}
		for(var i=0,j=0;j=array1.length,i<j;i++){//数组比较大时的一点儿优化
			console.log('forj:'+array1[i]);
		}
		

4 复制,检索,移除array.slice(start,end);array.splice(start,deleteCount,item...);array.indexOf();

		//slice方法针对array中的一段做浅复制
		//第一个参数是起始位置,第二个可选,默认是数组的长度
		//一般来说 截取后的值a + 截取后的数组值就是 截取前完整的数组的值
		var array2=['a','b','c','d'];
		var a=array2.splice(0,1);//a-['a'];array2-['b','c','d']
		var b=array2.splice(1);//b-['c','d'];array2-['b']
		
		//splice方法从array中移除一个或多个元素,并用新的元素替换他们
		var array3=[111,222,333,444];
		var b=array3.splice(2,1,555,666);//b-[333],array3-[111,222,555,666,444]
		
		//indexOf 判断数组是否包含某个元素,一般可以配合 splice方法删除元素
		//当然返回的结果是第一个匹配成功的,若需要全部删除还需要另外考虑
		var array4=[111,222,333];
		var index = array4.indexOf(222);//index==1
		if(index > -1) {
			array4.splice(index, 1);//array4-[111,333]
		}
		

5 反转,排序 array.reverse();array.sort();目前暂时没有使用到

猜你喜欢

转载自blog.csdn.net/qxianx/article/details/81414883