关于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 相关文章推荐
如何在一个页面显示多个百度地图
Apr 07 Javascript
基于豆瓣API+Angular开发的web App
Jan 02 Javascript
JQuery工具函数汇总
Jun 15 Javascript
JS折半插入排序算法实例
Dec 02 Javascript
使用AJAX实现Web页面进度条的实例分享
May 06 Javascript
BootStrapTable服务器分页实例解析
Dec 20 Javascript
使用gulp搭建本地服务器并实现模拟ajax
Apr 05 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
Dec 14 Javascript
vue 实现剪裁图片并上传服务器功能
Mar 01 Javascript
js实现延迟加载的几种方法详解
Jan 19 Javascript
Vue和React组件之间的传值方式详解
Jan 31 Javascript
vue数据初始化initState的实例详解
Apr 11 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
通过对php一些服务器端特性的配置加强php的安全
2006/10/09 PHP
php判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
动态添加删除表格行的js实现代码
2014/02/28 Javascript
div失去焦点事件实现思路
2014/04/22 Javascript
js基于cookie记录来宾姓名的方法
2016/07/19 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
js实现一键复制功能
2017/03/16 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
基于layui的下拉列表的数据回显方法
2019/09/24 Javascript
Vue.extend 编程式插入组件的实现
2019/11/18 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
Python验证码识别处理实例
2015/12/28 Python
python设计模式大全
2016/06/27 Python
python中subprocess批量执行linux命令
2018/04/27 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
2014年售票员工作总结
2014/11/19 职场文书
档案管理员岗位职责
2015/02/12 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫
python对文档中元素删除,替换操作
2022/04/02 Python