Javascript的常规数组和关联数组对比小结


Posted in Javascript onMay 24, 2012

首先我们看看数组的分类:

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

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

问题:你可以如下测试:
alert(arry1.length); // 返回值为:4
alert(arry2.length); //返回值为:0

这是因为什么呢,因为js是非类型语言,所以js 的任何类型都是object,

比如var arr = [];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr["s"] = 4;
此时你调用arr.s相当于是在调用arr这个对象的s属性,但是这是arr.length仍然是3。

总结:关联数组虽然可以用字符串作下标,但是这个下标是不支持参数传值的,换言之,你需要什么就取什么,听起来很智能,实际上你取值仍然需要你手动去写下标的。

Javascript 相关文章推荐
基于jquery的button默认enter事件(回车事件)。
May 18 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
Dec 11 Javascript
js使用栈来实现10进制转8进制与取除数及余数
Jun 11 Javascript
javascript面向对象之访问对象属性的两种方式分析
Jan 13 Javascript
jQuery 监控键盘一段时间没输入
Apr 22 Javascript
基于javascript实现按圆形排列DIV元素(二)
Dec 02 Javascript
bootstrap 表单验证使用方法
Jan 11 Javascript
Vuerouter的beforeEach与afterEach钩子函数的区别
Dec 26 Javascript
微信小程序扫描二维码获取信息实例详解
May 07 Javascript
深入学习JavaScript中的bom
May 27 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
Jul 08 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
Mar 09 Javascript
基于mootools插件实现遮罩层新手引导
May 24 #Javascript
jQuery 拖动层(在可视区域范围内)
May 24 #Javascript
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
May 24 #Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
May 24 #Javascript
js动态在form上插入enctype=multipart/form-data的问题
May 24 #Javascript
javascript中关于break,continue的特殊用法与介绍
May 24 #Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
May 24 #Javascript
You might like
天津市收音机工业发展史
2021/03/04 无线电
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
当鼠标移动时出现特效的JQuery代码
2013/11/08 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
[18:32]DOTA2 HEROS教学视频教你分分钟做大人-谜团
2014/06/12 DOTA
python optparse模块使用实例
2015/04/09 Python
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
如何使用Python实现自动化水军评论
2019/06/26 Python
python gdal安装与简单使用
2019/08/01 Python
如何给Python代码进行加密
2020/01/10 Python
python实现简单颜色识别程序
2020/02/19 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
工业自动化毕业生自荐信范文
2014/01/04 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
关于颐和园的导游词
2015/01/30 职场文书
寒假社会实践个人总结
2015/03/06 职场文书
2015年护士节慰问信
2015/03/23 职场文书
2015秋季小学开学寄语
2015/05/27 职场文书