JavaScript基础:数组

1.数组简介
数组的定义方式1:

<script type="text/javascript">
	var arr=new Array();//建立一个数组
	arr[0]=11;//向数组中添加元素
	arr[1]=12;//向数组中添加元素
	arr[2]=13;//向数组中添加元素
	console.log(arr);//输出数组对象
	console.log(arr[0]);//输出数组元素
	console.log(typeof arr);//输出数组类型
</script>

输出结果:
效果图

数组的定义方式2(字面量):

<script type="text/javascript">
	var arr=["hello","china","beautiful"];//建立一个数组
	var arr2=["hi",1,2,true];//数组中的类型可以是任何类型
	var arr3=[[1,2,3],[4,5,6],[7,8,9]];//建立一个二维数组
	console.log(arr);//输出数组对象arr
	console.log(arr[0]);//输出数组元素
	console.log(arr2);//输出数组对象arr2
	console.log(arr2[0]);//输出数组元素
	console.log(arr3);//输出数组对象arr3
	console.log(arr3[0]);//输出数组元素	
</script>

输出结果如下:
效果图
2.数组的四种方法
1.push()方法
作用:向数组末尾添加元素并且返回新的数组长度

<script type="text/javascript">
	var arr=["hello","china","beautiful"];//建立一个数组
	var result=arr.push("北京","上海");//向数组末尾添加元素并且将新的数组长度赋值给result
	console.log(arr);//输出数组
	console.log("resule="+result);//输出新的数组长度result
</script>

输出结果如下:
效果图
2.pop()方法
作用:删除并返回数组的最后一个元素

<script type="text/javascript">
	var arr=["hello","china","beautiful"];//建立一个数组
	var result=arr.pop();//删除数组的最后一个元素,并且将删除的元素赋值给result
	console.log(arr);//输出数组
	console.log("resule="+result);//输出删除的元素值
</script>

输出结果如下:
效果图
3.unshift()方法
作用:向数组开头添加一个或多个元素并且将新的数组长度返回

<script type="text/javascript">
	var arr=["hello","china","beautiful"];//建立一个数组
	var result=arr.unshift("我是","小凯");//向数组开头添加2个元素并且返回新的数组长度result
	console.log(arr);//输出数组
	console.log("resule="+result);//输出新的数组长度result
</script>

输出结果如下:
效果图
4.shift()方法
作用:删除并返回数组的第一个元素

<script type="text/javascript">
	var arr=["hello","china","beautiful"];//建立一个数组
	var result=arr.shift();//删除数组开头的元素并且将删除的元素赋值给result
	var result=arr.shift();//再次删除数组开头的元素
	console.log(arr);//输出数组
	console.log("resule="+result);//输出删除的元素
</script>

输出结果如下:
效果图
3.数组的遍历
所谓数组的遍历,就是将数组的所有元素都取出来

<script type="text/javascript">
	var arr=["hello","china","beautiful"];//建立一个数组
	for(var i=0;i<arr.length;i++)//遍历数组
	{
		console.log(arr[i]);//依次输出hello,China,beautiful
	}
<script >

说明:用forEach方法只能兼容IE8以上

<script type="text/javascript">
var arr=["hello","china","beactiful"];
arr.forEach(
	function(value,index,obj)//参数value表示的是正在遍历的元素,参数index表示的正在遍历元素的索引,参数obj表示正在遍历的数组
	{
     console.log("index="+index+",value="+value);}
	 );
	 <script >

效果图
4.slice()方法和splice()方法
slice()方法说明:作用,可以从数组中提取指定元素且不会影响原数组
参数:start数组开始位置的索引,包含开始索引,end数组结束位置的索引,不包含结束索引,end可以不写此时表示的是从开始索引位置一直到最后,索引也可以传递负值,则此时表示的是从后往前计算,-1表示的倒数第一个以此类推
实例

<script type="text/javascript">
	var arr=["孙悟空","猪八戒","沙和尚","唐僧","白骨精","牛魔王"];
	var result=arr.slice(1,3);//将提取后的数组赋值给result
	var result1=arr.slice(3);//从第三个位置开始提取
	var result2=arr.slice(1,-2);//从倒数第二个位置开始提取
	console.log(arr);//输出原数组
	console.log(result);//输出截取后的数组
	console.log(result1);//输出截取后的数组
	console.log(result2);//输出截取后的数组
</script>

输出结果如下:
效果图
2.splice()方法
作用:删除数组中的元素并且向其中添加新的元素
说明:使用splice()方法会影响原数组,会将指定元素从数组中删除,并且将删除元素作为返回值返回
参数1:开始删除的位置
参数2:删除元素的个数
参数3及以后:表示新添加的元素

<script type="text/javascript">
	var arr=["孙悟空","猪八戒","沙和尚","唐僧","白骨精","牛魔王"];
	var result1=arr.splice(0,2);//删除两个元素,从0位置开始删除并将删除后的结果赋值给result1
	console.log(result1);//输出删除的元素
	console.log(arr);//输出原数组,原数组已经改变
</script>

输出结果如下:
效果图

<script type="text/javascript">
	var arr=["孙悟空","猪八戒","沙和尚","唐僧","白骨精","牛魔王"];
	var result1=arr.splice(0,2,"红孩儿","铁扇公主");//删除两个元素,从0位置开始删除并且在0位置的前面添加两个新元素将结果赋值给result1
	console.log(result1);//输出删除的元素
	console.log(arr);//输出原数组,原数组已经改变
</script>

效果图
5.数组去重练习
题目:有一个数组,数组中含有1,2,3,3,2,1,4,2,5删除重复数字,使其输出1,2,3,4,5

<script type="text/javascript">
	var arr=[1,2,3,3,2,1,3,4,2,5];//创建一个新的数组
	for(var i=0;i<arr.length;i++)//获取数组中的每一个元素
	   for(var j=i+1;j<arr.length;j++)//获取当前元素后的所有元素
	      if(arr[i]==arr[j])//判断两个元素是否相等
		  {
			  arr.splice(j,1);//删除重复数字
			  j--;//非常重要
		  }
		  console.log(arr);//输出数组	
</script>

x效果图
6.数组中其他的方法
1.concat()方法
作用:可以将两个或者多个数组连接起来,并且返回新的数组
说明:不会对原数组产生影响

<script type="text/javascript">
	var arr1=[1,2,3,4];
	var arr2=["hello","dweblover"];
	var result=arr1.concat(arr2);//将arr2连接到arr1的后面
	console.log(result);//输出连接后的数组
	console.log(arr1);//输出原数组arr1
	console.log(arr2);//输出原数组arr2
</script>

输出结果如下:
效果图
2.join()方法
作用:该方法可以将数组转换为一个字符串
说明:该方法不会对原数组产生影响

<script type="text/javascript">
	var arr=["登录","注册","会员"];
	var result=arr.join("|");//指定连接符为|,默认连接符是,
	console.log(result);
	console.log(arr);//输出原数组
</script>

输出结果如下:
效果图
3.reverse()方法
作用:反转数组
说明:会对原数组产生影响

<script type="text/javascript">
	var arr=[1,2,3,4,5,6];
	var result=arr.reverse();
	console.log(result);	//输出6,5,4,3,2,1
</script>

4.sort()方法
作用:对数组元素进行排序
说明:如果是升序则是return a-b;如果是降序则返回return b-a

<script type="text/javascript">
	var arr=[2,34,5,89,12,90];
	arr.sort(
	function(a,b)
	{
		if(a>b)
		return 1;//交换位置
		else if(a<b)
		return -1;//不交换位置
		else
		 return 0;//也可以将if-else if -else这三个改写成一句return a-b	
	}
	);
	console.log(arr);	//按升序输出
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值