zoukankan      html  css  js  c++  java
  • js便利关联数组 及数组定义方式 分类

    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <script type="text/javascript">
    var arr = new Array();  
      
    //随便创建关联数组的数据如下:  
      
    arr["name"] = "mary";  
      
    arr["age"] = "3";  
      
    arr["sex"] = "man";  
      
    //利用 for 循环遍历如下:  
    for( var key in arr)  
    {  
          // 则上面 key 变量所取的值为 "name" 或 "age" 或 "sex",  
        //而不是数组的值  
        // 下面的 value 才是取到对应的值  
        alert(arr[key]);  
    }
    </script>
    </head>
    
    <body>
    
    </body>
    </html>
    <html>
    
      <head>
    
        <title>js中数组的定义方试</title>
    
        <script type="text/javascript">
    
          /*
    
             数组:
    
              1.数组内可以存放任意类型的数据
    
              2.数组元素不赋值,则是undefined
    
              3.(打印)数组时,如果某个元素没有赋值,则是“”;
    
              4.访问数组范围以外的元素时,不会出现越界异常,为undefined;
    
              5.定义的数组很小,依然能够添加更多的元素。
    
          */
    
          /*
    
             //第一种
    
              var arr = new Array();//直接定义,没有规定数组大小
    
    --------------------------------------------------------------------------------------          
    
              var arr = new Array();
              arr[0]=1;
              arr[1]=true;
              arr[2]='hello';
              alert(arr);
    
    ------------------------------------------------------------------------------------------------------
    
              var arr2 = new Array(2);
              arr2[0]=1;
    
              arr2[2]='hello';
    
              alert(arr2);//结果为1,,hello
    
    ------------------------------------------------------------------------------------------------------------
    
              var arr2 = new Array(2);
              arr2[0]=1;
    
              arr2[2]='hello';
    
              alert(arr2[1]);//结果为undefined;
    
              //第二种
    
              var arr2 = new Array(2);//数组大小规定为2
    
              var arr2 = new Array(2);
              arr2[0]=1;
              arr2[1]=true;
              arr2[2]='hello';
    
              alert(arr2);          
    
     
    
              //第三种
    
              var arr2 = new Array(hello,123,true);//直接写入数组中,可以是任意类型元素
    
              var arr3 = new Array(1,true,'hello');
    
              alert(arr3);//1,true,'hello'
    
              
    
              //第四种
    
              var arr2 = [hello,123,true];//直接写入数组中,可以是任意类型元素,直接用中括号括起来,这里要和java中数组定义严格区分开。
    
               var arr4 = [1,true,'hello'];
    
              alert(arr4); //1,true,'hello'
    
       */
    
        </script>
    
      </head>
    
    </html>

    数组分类:

    1、从数组的下标分为索引数组、关联数组

    /* 索引数组,即通常情况下所说的数组 */
    var ary1 = [1,3,5,8];
    //按索引去取数组元素,从0开始(当然某些语言实现从1开始)
    //索引实际上就是序数,一个整型数字
    alert(ary1[0]);
    alert(ary1[1]);
    alert(ary1[2]);
    alert(ary1[3]);
     
    /* 关联数组,指以非序数类型为下标来存取的数组  python中称为字典 */
    var ary2 = {};
    //存取时,以非序数(数字),这里是字符串
    ary2["one"] = 1;
    ary2["two"] = 2;
    ary2["thr"]  = 3;
    ary2["fou"] = 4;

    2、从对数据的存储分为静态数组、动态数组

    // java中的静态数组
    // 定义后数组的长度固定了不能改变,按索引取数组元素
    Int[] ary1 = {1,3,6,9};
     
    // java中的动态数组
    // java中的ArrayList实现是以Array为基础的,这里说动态数组是广义的,不管采用什么方式实现。
    List<Integer> ary2 = new ArrayList<Integer>();
    ary2.add(1);//可以动态的添加元素,数组的长度也随着变化
    ary2.add(3);
    ary2.add(6);<strong> </strong>
    /* js的数组属于动态数组 */
    var ary = [];//定义一个数组,未指定长度
    ary[0] = 1;//可以动态的添加元素
    ary.push(3);
    ary.push(5);
     
    alert(ary.join(","));//输出1,3,5

    js的数组同时属于索引数组和动态数组,因为本质上它就是一个js对象,体现着js动态语言特性。但js的索引数组并非“连续分配”内存的,因此索引方式并不会带来很高的效率。而java中的数组则是连续分配内存的。

  • 相关阅读:
    003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程
    002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介
    001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学
    001 Android Studio 首次编译执行项目过程中遇到的几个常见问题
    Dora.Interception,为.NET Core度身打造的AOP框架 [2]:以约定的方式定义拦截器
    Dora.Interception,为.NET Core度身打造的AOP框架 [1]:更加简练的编程体验
    监视EntityFramework中的sql流转你需要知道的三种方式Log,SqlServerProfile, EFProfile
    轻量级ORM框架——第二篇:Dapper中的一些复杂操作和inner join应该注意的坑
    轻量级ORM框架——第一篇:Dapper快速学习
    CF888G Xor-MST(异或生成树模板)
  • 原文地址:https://www.cnblogs.com/kevin2016/p/5937569.html
Copyright © 2011-2022 走看看