数组的方法,8个字概括

数组的方法?
增:
前增:
unshift(数据)
作用: 在数组的首部增加元素。
返回值:新增后数组的长度
是否影响原数组: 是

		var arr = [5,6,7,8,9];
		console.log(arr.unshift(true,false,[1,2,3])); //8
		console.log(arr); //[true,false,[1,2,3],5,6,7,8,9]
	
	后增:
		push(数据)
		作用: 在数组的尾部增加元素
		返回值:新增后数组的长度
		是否影响原数组: 是
		
		var arr = [5,6,7,8,9];
		console.log(arr.push(true,false,[1,2,3])); //8
		console.log(arr); //[5,6,7,8,9,true,false,[1,2,3]]
	
	删:
	前删:
		shift()
		作用:删除数组首部的元素(一次只能删除一个元素)
		返回值:被删除的元素
		是否影响原数组:是
		
		var arr = [5,6,7,8,9,10];
		console.log(arr.shift()); //5
		console.log(arr); //[6,7,8,9,10]
	后删:
		pop()
		作用:删除数组尾部的元素(一次只能删除一个元素)
		返回值:被删除的元素
		是否影响原数组:是
		
		var arr = [5,6,7,8,9,10];
		console.log(arr.pop()); //10
		console.log(arr); //[5,6,7,8,9]
		
		思考:如何删除数组中所有的元素?
	改:
		splice(start,deletelength,newEle,newEle,newEle,……)
		作用:可以在数组的任意位置,删,改,增的操作
		返回值: 返回被删除的元素数组
		是否影响原数组:是
		
		
		//删
		var arr = [5,6,7,8,9,10]; 
		console.log(arr.splice(1)); // [6,7,8,9,10]
		console.log(arr); // [5]
		//删
		var arr = [5,6,7,8,9,10]; 
		console.log(arr.splice(1,2)); // [6,7]
		console.log(arr); // [5,8,9,10]
		//改
		var arr = [5,6,7,8,9,10]; 
		console.log(arr.splice(1,2,true,false,null)); // [6,7]
		console.log(arr); // [5, true, false, null, 8, 9, 10]
		//增
		var arr = [5,6,7,8,9,10]; 
		console.log(arr.splice(1,0,true,[false,null])); // []
		console.log(arr); // [5, true, Array(2), 6, 7, 8, 9, 10]
	截:
		slice(start,end)
		作用:在数组中截取指定范围的数组元素
		返回值: 返回被截取到的新数组
		是否影响原数组:否
		
		var arr = [5,6,7,8,9,10]; 
		console.log(arr.slice(2)); // [7,8,9,10]
		console.log(arr); // [5, 6, 7, 8, 9, 10]
		
		var arr = [5,6,7,8,9,10]; 
		console.log(arr.slice(2,5)); // [7,8,9]
		console.log(arr); // [5, 6, 7, 8, 9, 10]
		
	拼:
		concat(元素)
		作用: 在指定的数组后拼接新的元素(如果元素是数组,只拆分最外层数组进行拼接。)
		返回值: 返回拼接后的新数组
		是否影响原数组:否
		
		var arr = [5,6,7,8,9,10]; 
		console.log(arr.concat(2,5,[1,2,3,[4,5,6]])); // [5,6,7,8,9,10,2,5,1,2,3,[4,5,6]]
		console.log(arr); // [5, 6, 7, 8, 9, 10]
	
	复:
		var arr = [5,6,7,8,9,10]; 
		//var newArr = arr.slice(0);
		var newArr = copyArr(arr);
		console.log(arr,newArr);
		arr[0] = true;
		console.log(arr,newArr);
		function copyArr(arr){
			return arr.slice(0);
		}
		
		var a = 3;
		var b = a;
		console.log(a,b);
		a = 4;
		console.log(a,b);
		
		
		var arr = [5,6,7,8,9,10]; 
		var newArr = copyArr(arr);
		console.log(arr,newArr);
		arr[0] = true;
		console.log(arr,newArr);
		function copyArr(arr){
			return arr.concat();
		}
		
		
		var arr = [5,6,7,8,9,10]; 
		var newArr = copyArr(arr);
		console.log(arr,newArr);
		arr[0] = true;
		console.log(arr,newArr);
		function copyArr(arr){
			var list = [];
			for(var i = 0,len = arr.length;i < len;i ++){
				list.push(arr[i]); //[5,6,7,8,9,10]
				//list[i] = arr[i];
			}
			return list;
		}
		
	排:
		1. reverse()
		作用:逆序数组
		返回值: 返回逆序后的数组
		是否影响原数组:是
		
		var arr = [5,6,7,8,9,10]; 
		console.log(arr.reverse()); //[10, 9, 8, 7, 6, 5]
		console.log(arr); //[10, 9, 8, 7, 6, 5]
		
		2. sort()
		作用:默认将数组中的元素自动转为字符串进行从小到大的排列。
		返回值:排序后的数组
		是否影响原数组:是
		
		var arr = [5,6,7,18,'a','你','我',9,10]; 
		console.log(arr.sort()); //[10, 18, 5, 6, 7, 9]
		console.log(arr); //[10, 18, 5, 6, 7, 9]
		
		sort(function(a,b){ return a - b;})
		作用:数组以数字的方式从小到大排列
		var arr = [5,6,7,18,9,10]; 
		console.log(arr.sort(function(a,b){return a - b;})); //[5,6,7,9,10,18]
		console.log(arr); //[5,6,7,9,10,18]
		
		sort(function(a,b){return b - a;})
		作用:数组以数字的方式从大到小排列
		
		var arr = [5,6,7,18,9,10]; 
		console.log(arr.sort(function(a,b){return b - a;})); //[18,10,9,7,6,5]
		console.log(arr); //[18,10,9,7,6,5]
		
	转:
		1. toString() 
		作用:将数组转为字符串
		返回值:返回转换后的字符串
		是否影响原数组:否
		
		var arr = [5,6,7,18,9,10]; 
		console.log(arr.toString()); //"5,6,7,18,9,10"
		console.log(arr); //[5,6,7,18,9,10]
		
		作用:将一个数字转成指定的进制字符串
		var iNum = 10;
		console.log(iNum.toString(2),iNum.toString(8),iNum.toString(16),iNum.toString(3));
		
		2. join('字符')
		作用:将数组转为指定连接符的字符串
		返回值: 返回转换后的字符串
		是否影响原数组:否
		
		var arr = [5,6,7,18,9,10]; 
		console.log(arr.join('<=>')); '5<=>6<=>7<=>18<=>9<=>10'
		console.log(arr.join('写啥,啥连接')); //'5写啥,啥连接6写啥,啥连接7写啥,啥连接18写啥,啥连接9写啥,啥连接10'
		console.log(arr.join('')); //'56718910'
		console.log(arr.join('\n'));
		console.log(arr); //[5,6,7,18,9,10]
		*/
		var arr = [5,6,7,18,9,10]; 
		console.log(arr.join('<=>')); '5<=>6<=>7<=>18<=>9<=>10'
		console.log(arr.join('写啥,啥连接')); //'5写啥,啥连接6写啥,啥连接7写啥,啥连接18写啥,啥连接9写啥,啥连接10'
		console.log(arr.join('')); //'56718910'
		console.log(arr.join('\n'));
		console.log(arr); //[5,6,7,18,9,10]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值