"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.数组元素不赋值,则是undefined3.(打印)数组时,如果某个元素没有赋值,则是“”;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);//数组大小规定为2var 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中的数组则是连续分配内存的。

转载于:https://www.cnblogs.com/kevin2016/p/5937569.html

js便利关联数组 及数组定义方式 分类相关推荐

  1. js中函数的三种定义方式、函数声明、函数同名重复、函数删除、

    全栈工程师开发手册 (作者:栾鹏) js系列教程4-函数.函数参数 在js中,函数本身属于对象的一种,因此可以定义.赋值,作为对象的属性或者成为其他函数的参数.函数名只是函数这个对象类的引用. 一.函 ...

  2. c语言大数组怎么定义,C语言中数组定义方式

    一.数组简介 <1>前言 大家首先来思考一个问题,若是我们想要定义两个变量,求这两个数的平均数,该怎么求呢? 例如:int a = 10,b = 20 int average = (a + ...

  3. 代码示例:Java中定义数组的三种方式

    在Java中,数组的定义有三种方式,其基本语法格式如下: 数组类型[] 数组名 = new 数组类型[数组长度]; 数组类型[] 数组名 = new 数组类型[]{数组元素0,数组元素1,...}; ...

  4. 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  5. 接口数组 java_java 数组和集合

    1.概念说明 区别:数组固定长度的,集合,数组的长度是可以变化的. List,继承Collection,可重复.有序的对象 Set,继承Collection,不可重复.无序的对象 Map,键值对,提供 ...

  6. 指针数组、数组指针——用指针访问数组方法总结

    目录 1.数组元素的访问 2.通过指针访问数组 2.1 通过指针访问一维数组 2.2 通过指针访问二维数组 2.2.1 指向元素的指针 2.2.2 指向每一行的指针(指针数组方式) 2.2.3 指向整 ...

  7. js中定义数组的两种方式

    js中定义数组: 注意事项: 1.在js中定义数组,不用担心数组角标越界的问题,可以自动扩容. 2.在js中,数组是可以定义任何数据类型的. 1.指定数组长度 运行结果: 2.简写方式:

  8. 21、js定义数组的三种方式

    一.javascript数组的定义方式 1.var arr = [1,2,3]; var arr = [1,"2",true]; 2.使用内置的对象Array: var arr = ...

  9. html中js定义数组,javascript数组的定义及操作实例

    数组是一组数据的集合,js中,数组里面的数据是可以 不同类型的 定义数组: 1.通过类实例化来创建数组 var alist01=new Array(1,2,3); 2.通过直接量的方式来创建数组 va ...

最新文章

  1. 机器学习实战笔记(Python实现)-03-朴素贝叶斯
  2. 使用Gearman做分布式计算
  3. Android实战技巧之十一:Android Studio和Gradle
  4. 其他团队对本组建议汇总
  5. redis哨兵集群的搭建
  6. oracle ctl文件7c1b,批量生成控制文件,用sqlldr自动导入多个表的数据
  7. python组合数据分类_Python 数据可视化:分类特征统计图
  8. 噪声产生原因_空调噪声大?啄木鸟家庭维修,看看属于哪一个问题
  9. vs2015如何连接oracle,VS2015中C#连接Oracle数据库
  10. 学习Spark——那些让你精疲力尽的坑
  11. ORACLE表空间使用量查询SQL
  12. matlab 四叉树表达,已知二值图像,如题图8.4所示。 (1)对该图像使用四叉树进行划分; (2)用四叉树表达该图像。 - 试题答案网问答...
  13. 数据库实验一——数据库定义与操作语言实验
  14. 4.29 笔记+day7作业
  15. 第62次上IM课(IMO71:How to use Adverb)
  16. mysql 数据转移历史表_mysql 历史数据表迁移方案
  17. 【转】可以让你迅速发财的23种盖世奇功
  18. oauth2-authorization-server;oauth2-resource-server;oauth2-client
  19. redis哨兵搭建(windows)
  20. 协方差矩阵的齐性检验(接上一篇文章)

热门文章

  1. idea中如何打开RunDashboard窗口,微服务最实用设置
  2. python 中*args 和 **kwargs的区别
  3. 【Docker】Ubuntu18.04国内源安装Docker-准备工作(一)
  4. PyTorch在NLP任务中使用预训练词向量
  5. Tesla Model汽车架构与FSD供应链
  6. OFRecord 图片文件制数据集
  7. 开放式神经网络交换-ONNX(下)
  8. 如何选择视觉CV光源颜色
  9. YOLOv4实用训练实践
  10. CVPR2020最新论文扫描盘点(下)