javascript高级课程:数组及其方法

1、创建数组:

   创建数组的三种方式
    //--------------------------------------------------------------
        var arr = []  // -->数组字面量
        var arr = new Array() // --> 构造函数创建数组,()里面是参数,一个值时表示length属性
        var arr = Array()
   创建对象的三种方式
    //--------------------------------------------------------------
        var obj = {}  //对象字面量
        var obj = new Object() // --> 构造函数创建对象
        var obj = Object()

    数组是对象的一种特殊的形式

var arr = [1, 2, 3, 4, 5, 6];
            //数组下标值(索引值),英文index
        var obj = {
            0: 1,
            1: 2,
            2: 3,
            3: 4,
            4: 5,
            5: 6
        }
  
        var arr = [, , , 4, 5, 6,];  // 在数组中并不是每个都有值,这种数组称为稀松数组
            // --->   [ empty × 3, 4, 5, 6]  最后一个逗号后面是空的就会被截掉
       // -------------------------------------------------------------
        var arr1 = new Array(1,2,,3,4) 
        var arr1 = new Array(1,2,,3,4,)
        var arr1 = new Array(,1,2,3,4)
        
         // 报错,因为这里是参数,不能为空

 2、 数组的方法:  数组的所有方法都是继承自Array.prototype

    案例一: 添加数组的方法 push() ,unshift();

 //push unshift 返回的是执行了方法后数组的长度
      
      var arr = [2, 3, 4];
      arr.push(5);  // --> 在数组最后一个值后加
      arr.unshift(0,1)   // --> 在数组的最前一位加

    案例二: 删除数组的方法 pop(),shift()

arr = [1, 2, 3, 4, 5, 6, 7, 8]

     arr.pop();  // --> 剪切数组的最后一位,没有参数

     arr.shift(); // --> 剪切数组的第一位,没有参数

    案例三:数组倒叙  reverse

arr = [1, 2, 3, 4, 5, 6, 7, 8]

     arr.reverse();   

     console.log(arr); //--->   [8, 7, 6, 5, 4, 3, 2, 1]

    案例四:arr.splice(开始剪切的位置,剪切的个数,剪切位置需要添加的新数据)

arr = [1, 2, 3, 4, 5, 6, 7, 8]

     arr.splice(2,3,'a','b','c')

     console.log(arr) // ---> [1, 2, "a", "b", "c", 6, 7, 8]

    案例五:sort()方法,

//  数组排序方法 sort
        var arr = [856, 72, 83, 73, 43, 93, 742]

        arr.sort();

       //--> [43, 72, 73, 742, 83, 856, 93]

       // 默认是按照 ASCⅡ 码排序 按从小到大的顺序

       //字符串 ASCII码比较大小,先比较第一位,接着比较第二位,以此类推
//在ASCIl码表中,按照ASCIl码值从小到大排列顺序是数字、英文大写字母、英文小写字母。数字ASCIl码值比字母小


   ASCII码对照表:  http://tool.oschina.net/commons?type=4

var arr = [-5,-6,1,43,3,6];

        //  ---> 参数是a,b
        //  ---> 返回值是负数 a排在前面
        //  ---> 返回值是正数 a排在后面
        //  ---> 返回值是0,保持不变

   // arr.sort(function(a,b){
   //     if( a > b){
   //         return 1
   //     }else{
     //        return -1
   //     }
 // })

   arr.sort(function(a,b){
        return a-b
    }) 升序排列

    console.log(arr)  // ---> -6 -5 1 3 6 43

随机排序

 // 随机排序
    //-------------------------------------------------------
    var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]

    // Math.random() 返回(0,1)之间的随机数

    arr.sort(function(a,b){
        var rand = Math.random();
        if(rand-0.5>0){
            return 1
        }else{
            return -1
        }
    })  
    console.log(arr)  ;

案例六: arr.contact( )方法;

  
    //arr.concat 将两个数组进行合并
    //----------------------------------------------------------------------------
     var arr = [1,2,3,4,5,6,7];
     var arr2 = [8,9,10];

     var arr3 = arr.concat(arr2);

     console.log(arr3);

案例七: arr.toString()

//arr.toString() 将数组转化为字符串
    //----------------------------------------------------------------------------
     var arr = [1,2,3,4,5,6,7];
     
     arr.toString();
     console.log(arr);

案例八:arr.slice( ):

//arr.slice() 截取数组中的片段,并且需要用一个变量来接收
//传入一个参数,就会从对应的地方一直截取到最后
//传入两个参数则会截取下前面的元素,到后面的元素,但是不包含后面的元素
    //----------------------------------------------------------------------------
     var arr = [1,2,3,4,5,6,7];
     
     var arr2 = arr.slice(1,3);

     console.log(arr2);

案例九: arr.join( ):

//arr.join() 将数组的元素放入字符串,参数就是分隔符
    //----------------------------------------------------------------------------
    var arr = ['a','b','c','d'];

    var arr2 = arr.join('___') 

    console.log(arr2); //--> a___b___c___d

案例十:split( );

//arr.split() 将字符串变成数组
        //不传值,直接将整个字符串填到数组中,
        //传空字符串,将字符串每一位分成一个元素,填入数组
        //传入字符串中存在的,则会以这个为分割符号,将其断开填入数组
        //传入不相关的,则跟不传值一样
    //可以填入第二个参数,代表填入的长度
    //----------------------------------------------------------------------------
    var str = 'wo-ai-xiao-geng';

    var str2 = str.split();
    
    var str3 = str.split('');

    var str4 = str.split('-');

console.log(str2); // --> ["wo-ai-xiao-geng"]
console.log(str3); // --> ["w", "o", "-", "a", "i", "-", "x", "i", "a", "o", "-", "g", "e", "n", "g"]
console.log(str4); // --> ["wo", "ai", "xiao", "geng"]

3、类数组是类似于数组的特殊对象

具有数组的属性,又有对象的属性(狭义的对象和数组),有length属性,没有Array的方法

转载于:https://my.oschina.net/u/4036426/blog/2999658

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值