关于JavaScript中的关联数组分析


Posted in Javascript onApril 09, 2013

通常的数组在填充时会隐式或者显示指定数组下标,但JS中数组可以以名字的形式为元素赋值,这就形成了关联数组,如:

var arr=new Array();
arr["china"]="beijing,niaoling,hulan";
arr["usa"]="newyork,washington,atlanta";
arr["japan"]="tokyo";
alert(arr["china"]);
alert(arr["japan"]);
alert(arr[0]);

注意上面的alert(arr[0]);这一句,它会返回undifined。这就意味着,关联数组中,不能再以传统的下标方式来访问数组元素而必须通过元素的名字。
这种通过名字来访问数组元素的形式有可读性高,灵活方便的优势。一定程度上它可以作为JS中的哈希表来使用。
对关联数组进行遍历时需要使用for in 循环,注意以下代码中两种不同的遍历方式:

var arr=new Array();
arr["china"]="beijing,niaoling,hulan";
arr["usa"]="newyork,washington,atlanta";
arr["japan"]="tokyo";
// 这种方式可以遍历关联数组中的名称
for(var item in arr){
alert(item);
}
// 这种方式可以遍历关联数组中的各元素
for(var item in arr){
alert(arr[item]);
}
Javascript 相关文章推荐
jquery通过a标签删除table中的一行的代码
Dec 02 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
Dec 14 Javascript
JavaScript+CSS控制打印格式示例介绍
Jan 07 Javascript
使用JavaScript获取地址栏参数的方法
Dec 19 Javascript
jQuery中:reset选择器用法实例
Jan 04 Javascript
JavaScript实现99乘法表及隔行变色实例代码
Feb 24 Javascript
浅析上传头像示例及其注意事项
Dec 14 Javascript
简单易懂的天气插件(代码分享)
Feb 04 Javascript
vue mint-ui tabbar变组件使用
May 04 Javascript
解决Vue中 父子传值 数据丢失问题
Aug 27 Javascript
extjs图表绘制之条形图实现方法分析
Mar 06 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
Apr 20 Javascript
分析Node.js connect ECONNREFUSED错误
Apr 09 #Javascript
Node.js生成HttpStatusCode辅助类发布到npm
Apr 09 #Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
Apr 08 #Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
Apr 08 #Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
Apr 08 #Javascript
Struts2的s:radio标签使用及用jquery添加change事件
Apr 08 #Javascript
Jquery图片滚动与幻灯片的实例代码
Apr 08 #Javascript
You might like
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
2013/05/07 Javascript
javascript中定义私有方法说明(private method)
2014/01/27 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
Node.js中的process.nextTick使用实例
2015/06/25 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
bootstrap weebox 支持ajax的模态弹出框
2017/02/23 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
一次让你了解全部JavaScript的作用域
2019/06/24 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
python实现上传下载文件功能
2020/11/19 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
Reformation官网:美国女装品牌
2018/09/14 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
八一建军节感言
2014/02/28 职场文书
幼儿园中班下学期评语
2014/04/18 职场文书
平安工地汇报材料
2014/08/19 职场文书
六五普法宣传标语
2014/10/06 职场文书
社区五一劳动节活动总结
2015/02/09 职场文书
详解Go语言运用广度优先搜索走迷宫
2021/06/23 Python
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL
python编程实现清理微信重复缓存文件
2021/11/01 Python
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL
Spring中bean集合注入的方法详解
2022/07/07 Java/Android