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

一、建立数组:javascript

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

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

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)
        
         // 报错,由于这里是参数,不能为空

 二、 数组的方法:  数组的全部方法都是继承自Array.prototype数组

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

//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.net

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

     arr.reverse();   

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

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

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()方法,code

//  数组排序方法 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"]

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

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

相关文章
相关标签/搜索