欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript中数组中的方法:push()、pop()、shift()、unshift()、slice()、splice()、reverse()、join()、split()、concat()、...

程序员文章站 2023-12-23 12:50:40
...
 
 1.创建数组的几种方法
            //a).通过new来创建数组,new可以省略  
                var arr=new Array();
                var arr=Array();
            //b). .通过new来创建数组,并且赋值
                 var arr=new Array(1,2,3);
           //c).中括号直接创建  
                 var arr=[];  //常用
           //d).中括号直接创建 ,并且赋值 
                 var arr=[1,2,3]

 2. 数组中的方法:

//1.push() :给数组的末尾添加元素。格式: 数组.push(参数, 参数...);
          var arr=['a','b','c'];
          var temp=arr.push('d');  
          console.log(arr);  //'a','b','c','d' ,原数组已改变  
          console.log(temp);  //4,      返回的是添加元素后数组的长度

  

//2.pop()  : 格式: 数组.pop()  ,删除数组最后一个元素
           var arr=['a','b','c'];
           var temp=arr.pop();  
           console.log(arr);  //'a','b' ,原数组已改变  
           console.log(temp);  //c,      返回的是去掉的元素

  

//3.shift():   格式: 数组.shift()	删除数组的第一个元素
               var arr=['a','b','c'];
               var temp=arr.shift();
               console.log(arr);  //'b','c' ,原数组已改变  
               console.log(temp);  //a,      返回的是去掉的元素

  

  

//4.unshift(参数, 参数...):格式:数组.unshift()    给数组 首位添加元素 
       var arr=['a','b','c'];
             var temp=arr.unshift('d','e');  
             console.log(arr);  //'a','b','c','d','e' ,原数组已改变  
             console.log(temp);  //5,      返回的是添加元素后数组的长度

  

//     5.concat(): 数组的合并 ,  格式: 数组1.concat(数组2);
               var arr1=['a','b'];
                var arr2=['c','d'];
                var temp=arr1.concat(arr2);  
               console.log(arr1);  //'a','b' ,原数组arr1不变  
               console.log(arr2);  //'c','d' ,原数组arr2不变    
               console.log(temp);  //"a,b,c,d" 返回的是新数组

  

//     6.slice(): 数组的截取 ,  格式: 数组.slice(start, end); 
              var arr=['a','b','c','d','e','f'];
              var temp=arr.slice(2,4);  
              console.log(arr);  // "a,b,c,d,e,f" ,原数组arr不变    
              console.log(temp);  //"c,d"  ,返回的是截取下来的新数组

  

//    7.splice():
//        7.1数组的删除功能:
          var arr=['a','b','c','d','e','f'];
	      var temp=arr.splice(2,4);  
	      console.log(arr);  // "a,b" ,原数组arr已变    
	      console.log(temp);  //"c,d,e,f"  ,返回的是删掉的数组
//        7.2 数组的插入功能:
           var arr=['a','b','c','d','e','f'];
	      var temp=arr.splice(2,0,'g','h');   
	      console.log(arr);  // "a,b,g,h,c,d,e,f" ,原数组arr已变    ,无返回数组。
//         7.3 数组的替换功能:
          var arr=['a','b','c','d','e','f'];
	      var temp=arr.splice(2,1,'g');   
	      console.log(arr);  // "a,b,g,d,e,f" ,原数组arr已变  。
	      console.log(temp);  // "c  ,返回的是替换掉的元素。

  

//     8. reverse()  数组的翻转:
        var arr=['a','b','c','d','e','f'];
	   var temp=arr.reverse();   
	   console.log(arr);  // "f,e,d,c,b,a"  ,原数组arr已变  。
	   console.log(temp);  // "f,e,d,c,b,a"  ,返回的是翻转后的数组。

  

//     9. join()  表示数组转换成字符串:
           var arr=['a','b','c','d','e','f'];
	       var temp=arr.join('-');   
	       console.log(arr);  // "a,b,c,d,e,f"  ,原数组arr不变  。
	       console.log(temp);  // "a-b-c-d-e-f"  ,这里以‘-’进行分割,返回的是分割 后的数组。

  

//     10. split()  字符串转换成数组:
           var str='abc-def-ghi-jk';
	       var temp=str.split('-');   
	       console.log(str);  // "abc-def-ghi-jk"  ,原字符串不变  。
	       console.log(temp);  // "abc,def,ghi,jk"  ,这里以‘-’进行分割,返回的是分割 后的数组。

  

//     11. sort()  数组的翻转:
			//字符进行排序
           var arr1=['f','e','d','c','b','a'];
	       var temp1=arr.sort();   
	       console.log(arr1);  // "a,b,c,d,e,f"  ,原数组arr已变  。
	       console.log(temp1);  // "a,b,c,d,e,f"  ,返回的是从小到大排序的数组。
	       //数字进行排序
	       var arr2=[5,4,3,2,1,0];
	       var temp2=arr2.sort();   
	       console.log(arr2);  // "0,1,2,3,4,5"  ,原数组arr已变  。
	       console.log(temp2);  // "0,1,2,3,4,5"  ,返回的是从小到大排序的数组。缺点:只能排序一位数的数组
	       
	       var arr3=[22,34,1,4,0,25]
	       function compareArr(val1,val2){	
		      if(val1>val2){
			    return 1;
			}else if(val1<val2){
			     return -1;
					
			}else{
				return 0;		
			}
		}
	       console.log(arr3.sort(compareArr));  //‘0,1,4,22,25,34’ ,结合compareArr()方法可以排序任意位数的数组

  

//       12.indexOf():  格式: 数组.indexOf(要查找的元素, 开始查找的下标);
         var arr=['a','e','c','d','e','f'];
         console.log(arr.indexOf('e',2));  //4  返回所需要查找的元素的下标
         console.log(arr.indexOf('c'));  //2  返回所需要查找的元素的下标

  

//       13.forEach():遍历数组      格式: 数组.forEach(function(item, index, array){});
         var arr=['a','e','c','d','e','f'];
        
         arr.forEach(function(item, index, array){
           	console.log(item);  //a/b/c/d/e/f  返回每一个元素
           	console.log(index);  //返回每一个元素对应的下标
         	console.log(array);  //返回整个数组
         })

  

//       14.map():遍历数组      格式: 数组.map(function(value,key){});
         var arr=[1,2,3,4,56];
         var arr2= arr.map(function(value,key){
           	console.log(value);  //a/b/c/d/e/f  返回每一个元素
           	console.log(key);  //返回每一个元素对应的下标
           	return   value*2         //可以修改每个元素的值,返回一个新数组
         })
         
         console.log(arr); //1,2,3,4,56
         console.log(arr2); //2,4,6,8,112

  

  

上一篇:

下一篇: