JavaScript数组的基本操作


本人新手一枚,有错还请指出来,勿喷,谢谢!!!

JavaScript的数组操作

数组的连接

concat() 函数
默认返回 新数组,原数组 不变

	   var a=[1,2.3];
       var b=[4,5,6];
       document.write(a.concat(b));   //[1,2,3.4.5.6 ]
       //a.concat(b)
       //把数组b放到数组a的末尾处,两个数组拼接成一个
       

数组的排序

sort() 函数

	   var a=[1,3,2];
       var b=[6,5,4];
       c=a.concat(b);
       console.log(c);      //[1,3,2,6,4,5]
       
       console.log(c.sort());     //]1,2,3,4,5,6]
       console.log(c);          //[1,2,3,4,5,6]
      

sort(sortby) 函数,返回一个 新数组,原数组 改变

无参数的情况下,默认为字符串的单个字符逐次比较,先转换为字符串,在按照ASCALL码比较大小

    		var a=['abi','cpd','efg','bmp','mvp','abm'];
   		    console.log(a.sort());   //['abi','abm','bmp','cpd','efg','mvp']
    
    		var a=[1,10,1000,5,26,3700];
   		    console.log(a.sort());   //[1,10,1000,26,3700,5]

sotrby是排序顺序,必须是函数

比较函数compare(a,b)

  1. a<b, 即a-b<0,为升序
  2. a=b, 即a-b=0
  3. a>b, 即a-b>0,为降序
               var a=[1,10,1000,5,26,3700];
               
               function compare1(a,b){
                    return a-b;
               }
                function compare2(a,b){
                    return b-a;
               }
               
               console.log(a.sort(compare1));  //[1,5,10,26,1000,3700]
               console.log(a);         //[1,5,10,26,1000,3700]
               
               console.log(a.sort(compare2));  //[3700,1000,26,10,5,1]
               console.log(a);            //[3700,1000,26,10,5,1]
               


数组的倒置

reverse () 函数
默认返回 新数组,原数组 改变

       var a=[1,2.3,4,5,6];
       
       console.log(a.reverse())     //[6,5,4,3,2,1]
       console.log(a)           //[6,5,4,3,2,1]

数组的插入

push() 函数 尾部插入
unshift() 函数 头部插入
两个函数的默认返回值为新数组的 长度 ,数组改变

            var a=new Array(1,2,3);
            var b=a.push(4);
            console.log(a,b)      //[1,2,3,4],4
       
           var c=a.unshift(5);
           console.log(a,c);    //[5,1,2,3,4],5

数组的删除

pop() 函数 尾部删除
shift() 函数 头部删除
两个函数的默认返回值为 删除的元素 ,原数组改变

                  var a=new Array(1,2,3,4,5);
                  var b=a.pop();
                  console.log(a,b)      //[1,2,3,4],5

                  var c=a.shift();
                  console.log(a,c);     //[2,3,4],1

数组同时添加和删除

splice(start,length,add) 函数,返回删除元素的数组

strat删除或添加元素的起始位置(不包含该位置)
length 删除元素的个数
add 要添加的元素(没有个数限制)

       var a=new Array(1,2,3,4,5);
       var m=a.splice(2);
       console.log(a,m);    //[1,2],[3,4,5]
       //只有一个参数时,删除从起始位置的下一个元素至末尾
        
       var b=new Array(6,7,8,9,5);
       var n=b.splice(1,2);
       console.log(b,n);   //[6,9,5],[7,8]
	   
	   var c=new Array(2,3,5,7,9);
       var n=c.splice(1,0,4,6);
       console.log(c,n);   //[2,4,6,3,5,7,9]

数组的截取

slice(start,end) 函数 ,返回 截取的数组, 原数组不变

       var c=new Array(2,3,5,7,9);
       var b=c.slice(1,3);
       console.log(c,b);   //[2,3,5,7,9],[3,5]
       
       console.log(c.slice());
		//没有参数或者参数为0的情况下,复制整个数组
       console.log(c.slice(0))

数组转字符串

join() 函数 返回一个 字符串

       var c=new Array(2,3,5,7,9);
       var b=c.join('');//默认用逗号连接

       console.log(b);   
       ///23579
       var b=c.join('-');
       //2-3-5-7-9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值