数组的内置方法2

1.队列方法:先进先出
            shift():移除数组中的第一个项,并返回该项
            unshift():在数组的前端添加任意多个项,并返回数组的长度
            
            关注的点:原数组会不会发生改变
            总结:先进先出增加在数组的头部

<script type="text/javascript">
		// shift
			var arr = ['a','b','c'];
			console.log('原数组的内容是:'+arr);
			console.log('原数组的长度是:'+arr.length) //3
			var arr1 = arr.shift(); //a
			console.log('原数组使用了shift()方法后获得:'+arr1); //a
			console.log('原数组的内容变成:'+arr); //b,c
		// unshift
		var arr2 = [1,5];
		var arr_length = arr.unshift('a1','b1',arr2);
		console.log('原数组增加元素之后为:'+arr); // a1,b1,1,5,b,c
		console.log('原数组的长度为:'+arr_length);// 5 将arr2看做一个整体,计算一个长度
</script>

 2.进出栈:后进先出
            push():入栈,在栈顶添加指定的元素,并返回新的长度
            pop():出栈,删除并返回栈顶的元素(删除的是数组的最后一位)
            栈顶:数组的尾部
            总结:给指定数组的末尾添加内容
            增加在尾巴用push;增加在头部用unshift

<script type="text/javascript">
			var arr3 = ['d','e','f']
			var arr4 = ['张三','李四']
			// push
			var arr3_push = arr3.push(1,2,3,arr4);
			console.log('push方法得到的结果是:'+arr3_push); // 7
			console.log('原数组增加后为:'+arr3); // d,e,f,1,2,3,张三,李四
			// pop
			console.log('pop方法得到的结果是:'+arr3.pop()); // 张三,李四
</script>

 3.位置方法
            indexOf():接收两个参数,要查找的项目,查找起点的位置索引(可选)
                indexOf(arg1,arg2)
                arg1:参数一 在指定数组中要找的项
                arg2:参数二 在指定数组中什么位置开始找
                找到之后返回的值是:项的下标
                没找到之后返回的是:-1
            lastlndexOf():接收两个参数,要查找的项目,查找起点的位置索引(可选)
                          可返回一个指定的字符串值最后出现的位置,
                          在一个字符串中的指定位置从后向前搜索。
                          
            两个函数都是返回要查找的项在数组中的位置,在没有找到的情况下返回-1。
            在比较第一个参数与数组中的每一个项时,使用全等操作符

<script type="text/javascript">
			var arr5 = ['d', 'e', 'f', 1, 2, 3, '张三', '李四'];
			// 不写第二位默认从0开始
			console.log('indexOf返回的是项的下标:' + arr5.indexOf(3));
			// 写上分隔符不写第二位也是默认第二位从0开始
			console.log('indexOf返回的是项的下标:' + arr5.indexOf(3,));
			// 规定一个起始位置
			console.log('indexOf返回的是项的下标:' + arr5.indexOf(3,2));
			// 该起始位置和查找元素位置一样,判断是否确定从该位开始
			console.log('indexOf返回的是项的下标:' + arr5.indexOf(3,5));
			// 开始位置越过了要查找的位置,从而找不到,返回-1
			console.log('indexOf返回的是项的下标:' + arr5.indexOf(3,6));
			var arr6= ['d', 'e', 'f', 1, 2, 3, '张三',2, '李四'];
			console.log('lastIndexOf返回的下标是:'+arr6.lastIndexOf(2,-1));
			
			// 已知一个数组 求2所对应的下标分别是多少,总共出现过几次
			var arr_index = [1,2,3,3,2,1,1,2,3,4,5,6,7];
			var cat = 0;
			var arr8 = []
			for (i=0;i<=arr_index.length;i++){
				if(arr_index[i]==2){
					cat++;
					arr8.push(i);
				}
			}
			console.log('符合需求的下标分别是:'+arr8);
			console.log('2总共出现过'+cat+'次');
</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值