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 相关文章推荐
JavaScript Event学习第八章 事件的顺序
Feb 07 Javascript
Jquery 插件开发笔记整理
Jan 17 Javascript
jQuery 一个图片切换的插件
Oct 09 Javascript
jQuery1.6 使用方法一
Nov 23 Javascript
基于ajax实现文件上传并显示进度条
Aug 03 Javascript
jQuery 获取页面li数组并删除不在数组中的key
Aug 02 Javascript
layer实现弹窗提交信息
Dec 12 Javascript
浅述节点的创建及常见功能的实现
Dec 15 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
Aug 06 Javascript
js 实现 list转换成tree的方法示例(数组到树)
Aug 18 Javascript
vue项目中锚点定位替代方式
Nov 13 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
Mar 26 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
重置版宣传动画
2020/04/09 魔兽争霸
php addslashes和mysql_real_escape_string
2010/01/24 PHP
CentOS安装php v8js教程
2015/02/26 PHP
CodeIgniter读写分离实现方法详解
2016/01/20 PHP
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
2016/05/27 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
利用jquery操作select下拉列表框的代码
2010/06/04 Javascript
JavaScript重载函数实例剖析
2016/05/13 Javascript
AngularJS入门教程之多视图切换用法示例
2016/11/02 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
2018/09/07 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
2019/05/07 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
通过jQuery学习js类型判断的技巧
2019/05/27 jQuery
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
Python使用email模块对邮件进行编码和解码的实例教程
2016/07/01 Python
python实现石头剪刀布小游戏
2021/01/20 Python
Python爬虫学习之翻译小程序
2019/07/30 Python
python实现读取类别频数数据画水平条形图案例
2020/04/24 Python
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
MIXIT官网:俄罗斯最大的化妆品公司之一
2020/01/25 全球购物
回门宴答谢词
2014/01/13 职场文书
宿舍卫生检讨书
2014/01/16 职场文书
物理教学随笔感言
2014/02/22 职场文书
股东出资证明书范例
2014/10/04 职场文书
黄埔军校观后感
2015/06/10 职场文书
golang http使用踩过的坑与填坑指南
2021/04/27 Golang