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 相关文章推荐
JavaScript中:表达式和语句的区别[译]
Sep 17 Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
Jul 22 Javascript
JS网页播放声音实现代码兼容各种浏览器
Sep 22 Javascript
JQuery中$(document)是什么意思有什么作用
Jul 21 Javascript
使用js实现数据格式化
Dec 03 Javascript
require.js配合插件text.js实现最简单的单页应用程序
Jul 12 Javascript
解析微信JS-SDK配置授权,实现分享接口
Dec 09 Javascript
html5 canvas 详细使用教程
Jan 20 Javascript
详解node child_process模块学习笔记
Jan 24 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
Aug 17 Javascript
Vue 的 v-model用法实例
Nov 23 Vue.js
javascript实现左右缓动动画函数
Nov 25 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
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
php支付宝接口用法分析
2015/01/04 PHP
php目录拷贝实现方法
2015/07/10 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
javascript 自定义事件初探
2009/08/21 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
2015/10/08 Javascript
js如何打印object对象
2015/10/16 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
2017/11/22 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
JS获取表格视图所选行号的ids过程解析
2020/02/21 Javascript
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
python中cPickle类使用方法详解
2018/08/27 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
Python3的socket使用方法详解
2020/02/18 Python
Python random模块的使用示例
2020/10/10 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
h5封装下拉刷新
2020/08/25 HTML / CSS
Tostadora意大利:定制T恤
2019/04/08 全球购物
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
经济信息系毕业生自荐信
2014/06/02 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
2016春节慰问信范文
2015/03/25 职场文书
花木兰观后感
2015/06/10 职场文书