js:写一个函数实现任意数组的翻转

作业1、要求写一个函数,实现任意数组的翻转(这里的任意理解为任意长度,打算用argument来实现)

刚开始的代码:

// 4、写一个函数实现任意数组翻转
		function reverse(){
			var newarr=[];
			for (var i=arguments.length-1;i>=0;i--){
				newarr[newarr.length]=arguments[i];
			}
			return newarr
		}
		var re=reverse([1,2,3,4,5,6])//这里加了中括号,因为记得数组是加上[]的
		console.log(re);

然后,运行一下,发现结果里面的元素并不翻转,回头去看了之前的视频,发现调用的时候,里面的元素是不需要加上[]的,还整以后的代码是:

// 4、写一个函数实现任意数组翻转
		function reverse(){
			var newarr=[];
			for (var i=arguments.length-1;i>=0;i--){
				newarr[newarr.length]=arguments[i];
			}
			return newarr
		}
		var re=reverse(1,2,3,4,5,6)
		console.log(re);

这样就可以实现里面的元素翻转了。

这里说明一下argument的使用:

当不确定有多少个参数传递的时候,可以使用argugments来获取,js中,arguments实际上是当前函数的额内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。arguments展示形式是一个伪数组,因此可以进行遍历,伪数组具有的特点:

1、具有length属性

2、按索引方式储存数组

3、不具有数组的pop,push等方法(这也是为什么它是伪数组了)。

补充一点,这里之所以不加[],是因为使用的是arguments,如果代码是function reverse(arr){}    这样的话,后面的调用,数组就需要加上[].


		function reverse(arr){
			var newarr=[];
			for (var i=arr.length-1;i>=0;i--){
				newarr[newarr.length]=arr[i];
			}
			return newarr
		}
		var re=reverse([1,2,3,4,5,6])
		console.log(re);

 

  • 21
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值