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与css打造个性化的单选框和复选框
Oct 20 Javascript
jquery判断至少有一个checkbox被选中的方法
Jun 05 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
Mar 08 Javascript
JavaScript函数内部属性和函数方法实例详解
Mar 17 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
Sep 12 Javascript
vue.js简单配置axios的方法详解
Dec 13 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
详解在Vue中使用TypeScript的一些思考(实践)
Jul 06 Javascript
小程序实现发表评论功能
Jul 06 Javascript
JavaScript使用面向对象实现的拖拽功能详解
Jun 12 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
Sep 14 Javascript
vue+springboot+element+vue-resource实现文件上传教程
Oct 21 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
destoon首页调用求购供应信息的地区名称的方法
2014/08/21 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
2007/05/07 Javascript
JavaScript入门教程(6) Window窗口对象
2009/01/31 Javascript
jQuery基本过滤选择器使用介绍
2013/04/18 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
2017/01/24 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
小程序表单认证布局及验证详解
2020/06/19 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
使用Python求解最大公约数的实现方法
2015/08/20 Python
Python教程之全局变量用法
2016/06/27 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
Django ModelForm组件原理及用法详解
2020/10/12 Python
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
StubHub澳大利亚:购买或出售您的门票
2019/08/01 全球购物
俄罗斯游戏商店:Buka
2020/03/01 全球购物
主管会计岗位责任制
2014/02/10 职场文书
拉歌口号大全
2014/06/13 职场文书
世界气象日活动总结
2015/02/27 职场文书
工程质量保证书
2015/05/09 职场文书
pandas中关于apply+lambda的应用
2022/02/28 Python
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL