关于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 获取json数据实现代码
Apr 27 Javascript
jquery 动态创建元素的方式介绍及应用
Apr 21 Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
Aug 02 Javascript
js交换排序 冒泡排序算法(Javascript版)
Oct 04 Javascript
分享jQuery网页元素拖拽插件
Dec 01 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
May 22 Javascript
Angular2 自定义validators的实现方法
Jul 05 Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
Apr 25 Javascript
Vue多系统切换实现方案
Jun 05 Javascript
Vue.extend实现挂载到实例上的方法
May 01 Javascript
微信小程序从注册账号到上架(图文详解)
Jul 17 Javascript
jQuery操作元素追加内容示例
Jan 10 jQuery
分析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
thinkphp5实现微信扫码支付
2019/12/23 PHP
PHP 图片处理
2020/09/16 PHP
ExtJS扩展 垂直tabLayout实现代码
2009/06/21 Javascript
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
2016/10/30 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
深入理解vue Render函数
2017/07/19 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
nodejs中各种加密算法的实现详解
2019/07/11 NodeJs
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
使用python开发vim插件及心得分享
2014/11/04 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
早晨薰衣草在线女性精品店:Morning Lavender
2021/01/04 全球购物
质检部部长职责
2013/12/16 职场文书
高中生毕业自我鉴定范文
2013/12/22 职场文书
社区党员先进事迹
2014/01/22 职场文书
借款协议书
2014/09/16 职场文书
2014年平安夜寄语
2014/12/08 职场文书
2014年人大工作总结
2014/12/10 职场文书
技术转让协议书
2016/03/19 职场文书
宪法宣传标语100条
2019/10/15 职场文书
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python
python装饰器代码解析
2022/03/23 Python
Win11 Build 25179预览版发布(附更新内容+ISO官方镜像下载)
2022/08/14 数码科技