JavaScript中的索引数组、关联数组和静态数组、动态数组讲解


Posted in Javascript onNovember 08, 2014

数组分类:

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);
/* js的数组属于动态数组 */

var ary = [];//定义一个数组,未指定长度

ary[0] = 1;//可以动态的添加元素

ary.push(3);

ary.push(5);

 

alert(ary.join(","));//输出1,3,5

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

Javascript 相关文章推荐
XENON基于JSON变种
Jul 27 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
Dec 12 Javascript
jquery $.getJSON()跨域请求
Dec 21 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
Jul 09 Javascript
js中indexof的用法详细解析
Dec 24 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
Sep 23 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
May 24 Javascript
微信小程序中form 表单提交和取值实例详解
Apr 20 Javascript
vue router下的html5 history在iis服务器上的设置方法
Oct 18 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
Sep 21 Javascript
vue中提示$index is not defined错误的解决方式
Sep 02 Javascript
Vue 组件的挂载与父子组件的传值实例
Sep 02 Javascript
JavaScript函数模式详解
Nov 07 #Javascript
JavaScript代码复用模式详解
Nov 07 #Javascript
JavaScript中的style.cssText使用教程
Nov 06 #Javascript
JavaScript组合拼接字符串的效率对比测试
Nov 06 #Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
Nov 06 #Javascript
javascript解析json实例详解
Nov 05 #Javascript
JavaScript中发布/订阅模式的简单实例
Nov 05 #Javascript
You might like
php处理json时中文问题的解决方法
2011/04/12 PHP
关于js与php互相传值的介绍
2013/06/25 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
PHP微信开发之二维码生成类
2015/06/26 PHP
php生成二维码
2015/08/10 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
js GridView 实现自动计算操作代码
2009/03/25 Javascript
javascript new后的constructor属性
2010/08/05 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
Vue学习之组件用法实例详解
2020/01/06 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
用python 制作图片转pdf工具
2015/01/30 Python
Python实现的桶排序算法示例
2017/11/29 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
python初步实现word2vec操作
2020/06/09 Python
Python魔术方法专题
2020/06/19 Python
python使用numpy中的size()函数实例用法详解
2021/01/29 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
华为菲律宾官方网站:HUAWEI Philippines
2021/02/23 全球购物
几个MySql的面试题
2013/04/22 面试题
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
高二生物教学反思
2014/01/27 职场文书
保险公司开门红口号
2014/06/21 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
Flask使用SQLAlchemy实现持久化数据
2021/07/16 Python