js数组的深入浅出

数组内置方法:

      var arr=[10,20,30,40];
 (1)栈方法(先进后出)									修改了原数组
				push(item....item)     在数组末尾添加元素         
				pop		 删除数组末尾元素
	        arr.push(50,60);
	        arr.pop();
	        console.log(arr.push(50,60););//返回的是修改后的数组长度
	        console.log(arr.pop(););//返回删除数组末尾元素
	        console.log(arr);[10,20,30,40,50];
(2)队列方法(先进先出) 									修改了原数组
				push()                 在数组末尾追加元素
				shift()					删除数组第一个元素
	        arr.push(50,60);
	        arr.shift()	;
	        console.log(arr.push(50,60););//返回的是修改后的数组长度
	        console.log(arr.shift());//返回删除数组第一个元素
	        console.log(arr);[20,30,40,50,60];
 (3)数组操作方法
	concat(arr...)        数组合并                 返回新数组
	unshift(item...)     在数组头部插入元素         修改
	slice(start,end)     截取数组  [start,end)     未修改
	splice: 					                  修改
			splice(index,howmany)   	删除数组元素
			splice(index,howmany,item...)  先删除,再添加
       //concat(arr...)  		
	   var arr0=arr.concat();//数组合并产生新的数组	
	   console.log(arr0);	//[10,20,30,40]arr的修改不会影响新的数组
	   var arr1=[80,60];
	   console.log(arr1.concat(arr0));//[10,20,30,40,80,60]
	   //unshift(item...) 
	   arr.unshift(100);
	   console.log(arr.unshift(100));//返回的是长度
	   console.log(arr);//[100,10,20,30,40]
	  // slice[start,end)  
	    var arr0=arr.slice(1,2);
		console.log(arr0);//[20]
	    var arr1=arr.slice(0);//复制 返回新的数组
	    console.log(arr1);
	    //splice: 
	         	//splice(index,howmany)   	删除数组元素
				//splice(index,howmany,item...)  先删除,再添加
		var arr=[10,20,30,40];
		var arr1=arr.splice(1,1);
		console.log(arr);//[10, 30, 40]
		console.log(arr1);//[20]
		var arr0=arr.splice(0,1,'你好');
		console.log(arr0);//[10]
		console.log(arr);//["你好", 30, 40]
		arr.splice(1,0,2,2);
		console.log(arr);// ["你好", 2, 2, 30, 40]
 (4)排序方法									修改
				sort             排序(默认按照字符串排序)
				reverse          倒叙
	    var arr=[20,10,30,50,4];
	    arr.sort();
		console.log(arr);//按ASCII码排序[10, 20, 30, 4, 50]
		//升序
		arr.sort(function(a,b){
              if (a>b) {
              	return 1;
              }else if (a<b) {
              	return -1;
              }else{
              	return 0;
              }
		});
		console.log(arr);//[4, 10, 20, 30, 50]
		//降序
		arr.sort(function(a,b){
              if (a>b) {
              	return -1;
              }else if (a<b) {
              	return 1;
              }else{
              	return 0;
              }
		});
		console.log(arr);//[50, 30, 20, 10, 4]
		
        var arr=['how','are','you'];
		arr.reverse();
		console.log(arr);// ["you", "are", "how"]
 5)其他方法
			join(sp)		 使用指定字符将数组元素拼接为字符串
        var arr=['how','are','you'];
		var str=arr.join(':');
		console.log(str);//how:are:you
 (6)新方法
				forEach(fn) 		遍历
					fn函数有三个参数
						item   数组元素
						index  索引
						arr    数组自身
        var arr=[2,31,52,12,2];
		//遍历
		arr.forEach(function(item,index,arr){
			console.log(item);
		});	
 some(fn)  fn 有三个参数  //判断数组中是否有满足规则的(有一个即可)
 every(fn)  fn 有三个参数  // 判断数组中是否均满足规则的	
	var arr=[12,34,25,62,45];
		//判断数组中是否有满足要求的(有一个即可)
		var a=arr.some(function(item,index,arr){
			return item>50;
		});
		console.log(a);//输出结果为true或false
        //判断数组中是否均满足要求
        var b=arr.every(function(item,index,arr){
			return item>5;
		});
		console.log(b);	//输出结果为true或false
 indexOf         查找元素在数组中的位置       	找不到  -1
 lastIndexOf     从后向前查找数组中是否包含元素   找不到  -1
   a=[0,1,2,1,0];
   a.indexOf(1);//=>1 a[1]=1
   a.lastIndexOf(1);//=>3 a[3]=1
   a.indexOf(3);//=>-1
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值