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 相关文章推荐
客户端脚本中常常出现的一些问题和调试技巧
Jan 09 Javascript
javascript怎么禁用浏览器后退按钮
Mar 27 Javascript
基于javascript数组实现图片轮播
May 02 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
Jul 07 Javascript
JavaScript对象引用与赋值实例详解
Mar 15 Javascript
JavaScript实现图片拖曳效果
Sep 08 Javascript
react学习笔记之state以及setState的使用
Dec 07 Javascript
js继承的这6种方式!(上)
Apr 23 Javascript
通过JS深度判断两个对象字段相同
Jun 14 Javascript
VUE+elementui面包屑实现动态路由详解
Nov 04 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
Apr 17 Javascript
Vue中的this.$options.data()和this.$data用法说明
Jul 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
松下Panasonic RF-B65电路分析
2021/03/02 无线电
基于PHP+MySQL的聊天室设计
2006/10/09 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
jQuery版Tab标签切换
2011/03/16 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
js异步上传多张图片插件的使用方法
2018/10/22 Javascript
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
python re模块的高级用法详解
2018/06/06 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
Python整数对象实现原理详解
2019/07/01 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
python之生成多层json结构的实现
2020/02/27 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
CSS3动画:5种预载动画效果实例
2017/04/05 HTML / CSS
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
幼儿园新年寄语
2014/04/03 职场文书
《少年王冕》教学反思
2014/04/11 职场文书
《孔繁森》教学反思
2014/04/17 职场文书
领导参观欢迎词
2015/01/26 职场文书
工程部经理岗位职责
2015/02/02 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
庆元旦主持词
2015/07/06 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
Vue如何清空对象
2022/03/03 Vue.js