关于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 菜单随滚条改为以定位方式(固定要浏览器顶部)
May 24 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
Feb 21 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
Mar 08 Javascript
微信小程序 前端源码逻辑和工作流详解
Oct 08 Javascript
总结几道关于Node.js的面试问题
Jan 11 Javascript
js手机号批量滚动抽奖实现代码
Apr 17 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
Apr 13 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
Jun 22 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
Jul 06 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
Feb 21 Javascript
实现一个 Vue 吸顶锚点组件方法
Jul 10 Javascript
vue-router中hash模式与history模式的区别
Jun 23 Vue.js
分析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
同台服务器使用缓存APC效率高于Memcached的演示代码
2010/02/16 PHP
php使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
JS实现div居中示例
2014/04/17 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
JS常用算法实现代码
2016/11/14 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
React Router V4使用指南(精讲)
2018/09/17 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
2020/08/14 Javascript
分享一下Python 开发者节省时间的10个方法
2015/10/02 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
python实现多层感知器
2019/01/18 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
英国领先的男士美容护发用品公司:Mankind
2016/08/31 全球购物
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
翻新二手苹果产品的网络领导者:Mac of all Trades
2017/12/19 全球购物
北京某公司的.net笔试题
2014/03/20 面试题
工商企业管理实习自我鉴定
2013/12/04 职场文书
年终考核评语
2014/01/19 职场文书
优秀教师先进事迹
2014/01/22 职场文书
打造完美自荐信
2014/01/24 职场文书
索桥的故事教学反思
2014/02/06 职场文书
护理专业毕业生自我鉴定总结
2014/03/24 职场文书
培训科主任岗位职责
2014/08/08 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
六五普法学习心得体会
2016/01/21 职场文书
redis不能访问本机真实ip地址的解决方案
2021/07/07 Redis