JavaScript中数组相关基础操作及实现

JavaScript中数组操作比较灵活,关于js中数组操作,写了一些数组操作代码,并在浏览器控制台验证。以下是js代码:

<script type="text/javascript">
    console.log("---------------JavaScript数组相关实现---------------")
	
	//数组创建,js中数组是弱类型,数组中可含有不同类型的元素,甚至可以是对象或其他数组;
	console.log("数组创建");
	var BAT=['Alibaba','Tencent','Baidu'];
	var students=[{name:'Cindy',age:18},{name:'Lucy',age:19},{name:'Lily',age:20}];
	var arrB=['Jerk','Linux','Boolean',true,null,123];
	var arrA=[[1,2],[3,4,5]];
	console.log(arrA[1][0]+" "+arrA[1][1]+" "+arrA[1][2]);
	
	//数组增删元素;
	console.log("数组增删元素");
	var arr=[];
	arr[0]=1;
	arr[1]=2;
	arr.push(3);//数组尾部增加元素;
	arr[arr.length]=4;//尾部增加元素;
	console.log(arr);
	arr.unshift(0);//数组头部添加元素;
	console.log(arr);
	
	delete arr[2];
	console.log(arr);
	arr.length-=1;//删除最后一个元素;
	console.log(arr);
	arr.pop();//删除最后一个元素;
	console.log(arr);
	arr.shift();//头部删除元素;
	console.log(arr);
	
	//数组方法:
	console.log("数组的一些方法验证");
	var arr=[1,2,3];
	console.log(arr.join());//将数组转换为字符串,默认以逗号连接;
	console.log(arr.join("-"));
	console.log(arr.reverse());//将数组逆序排列,原数组并未改变;
	console.log(arr.sort());//数组排序,原数组被修改;
	arr.sort(function(a,b){
		return b-a;   //数组升序排序,原数组被修改;
		})
		
	console.log(arr);
	console.log("concat方法验证");
	console.log(arr.concat(4,5));//concat,数组合并,原数组并未被修改;
    console.log(arr);
	console.log(arr.concat([4,[5,6]]));
	
	console.log("slice及splice方法验证");
	arr=[1,2,3,4,5,6];
	console.log(arr.slice(1,3));//slice左闭右开,返回部分数组;不会修改原数组;
	console.log(arr.slice(2,-1));//从索引为2到倒数第二个元素;
	
	arr.splice(2);//从索引为2处删除;数组被改变;
	console.log(arr);
	arr=[1,2,3,4,5];
	arr.splice(2,2);//从索引为2处开始,删除2个元素;
	console.log(arr);
	arr=[1,2,3,4,5];
	arr.splice(2,1,"a",'b');//删除一个元素,增加两个元素;
	console.log(arr);
	
	console.log("map映射");
	arr=[1,2,3];
	//map映射,数组未被改变;
	console.log(arr.map(function(x){
		   return x*2;
		}));
	console.log(arr);
	
	console.log("filter过滤");
	//filter数组过滤;
	console.log(arr.filter(function(x){
		   return x>1;
		}));
	console.log(arr);
	
	console.log("every,some数组判断");
	//every(&&),some(||)数组判断;
	console.log(arr.every(function(x){
		  return x<2;
		}))
	console.log(arr.some(function(x){
		  return x<2;
		}))
		
	//reduce对数组中元素两两操作,reduceRight从右往左操作;
	console.log("reduce数组两两操作");
	arr=[1,2,3];
	var sum=arr.reduce(function(x,y){
			return x+y;
		},100);//((100+1)+2)+3;
	console.log(sum);
	
	//indexOf数组查找索引值;
	console.log("indexOf数组查找索引值");
	arr=[1,2,3,4,5,2];
	console.log(arr.indexOf(2));
	console.log(arr.indexOf(2,1));//从索引值1处开始查找,查找2所在位置的索引值;
	console.log(arr.lastIndexOf(2));//从右往左找;
	console.log(arr.lastIndexOf(2,-2));
	
	
</script>>

以下是console验证结果:

可以根据数组操作代码对应控制台验证结果,体会js中有关数组的操作。

猜你喜欢

转载自blog.csdn.net/qq_34538534/article/details/82795253