js数组的截取与排序

在JavaScript中创建一个数组:

    1、 var arr = [];

    2、 var arr = new Array(); 

   往数组后面添加元素(push),同时会改变数组的长度,    push()方法可向数组的末尾添加一个或多个元素,并返回新的长度。

arrayObject.push(newelement1,newelement2,....,newelementX)

    arr.push(4);    //alert(arr.length);


    delete  删除不会修改数组的长度,长度还是原来的,用undefined 去填充

    注意:当delete操作符返回true可以删除,返回fasle时表示不能删除    

  delete的用法详解

1、

   var sum =  function(a,b)

      {return a+b;}

   var add = sum;

   delete sum;        //true

    typeof  sum;      //undefined


2、

 删除对象的属性

   var  o = {x:1};

    delete  o.x;   //true

     o.x;     //undefined

3、

function x(){}

delete x;   //false

typeof x;   //function


4、对象的内置属性不可删除

   (function(){

    delete arguments;     //false

    typeof  arguments;    //object

    function  f(){}

    delete  f.length;    //false

    typeof  f.length;    //number 

})

5、函数的参数也是不可删的

   (function(foo,bar){

    delete   foo;     //false

     foo;      //1

     delete bar ;  //false

     bar;    //'blah'

})(1,'blah');




     真正的删除,pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

       

      <script type="text/javascript">

     var arr = new Array(3);

    arr[0] = "George"

    arr[1] = "Jhon"

    arr[2] = "Thomas"      

    document.write(arr)                    //                 George   Jhon   Thomas            

    document.write(arr.pop())        //     Thomas

    document.write(arr)                  //     George   Jhon


    </script>



shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

 如果数组是空的,那么shift()方法将不进行任何操作,返回undefined值,请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。


substring() 方法用于提取字符串中介于两个指定下标之间的字符。

stringObject.substring(start,stop)


返回值

一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减start

说明

substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。

如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

substring() 不接受负的参数。


 var str = "0123456789";
      //str = str.substring(0,5);//substring中负数当做0
 //alert(str);
     
     //总结
//正数的时候(start>end) substring和slice没有任何的区别
//正数的时候end >start substring会自动内部里面进行一次最大值和最小值的获取
//负数:start和end是负数substring都会把他们当做0
//针对slice的话,(length-start,length-end)
    
var arr = [0,1,2,3,4,5,6,7,8,9];
var ar = arr.slice(0,2);
alert(ar);
alert(ar.length);


//方法arr.splice(start,dcount,p1,p2,p3);start 是确认删除元素的起点坐标,长度发生变化
//var spa = arr.splice(1,2);//删除方法
    var spa = arr.splice(1,2,'keke','xaobai','xiaozhong'); //替换
alert(arr.toString());


var arr = [0,1,2,3,4,5,6,7,8,9];
//反转
//var ar = arr.reverse();
//alert(ar.toString());


//sort()方法 默认的排序方式就是升序
/*
var ar = arr.sort(function(a,b){
 return a>b?-1:1;
});
alert(ar.toString());
*/
Array.prototype.csort = function(mark){
 arr.sort(function(a,b){
   return mark?-1:1;
 });

arr.csort(true);
alert(arr.toString());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值