马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
1. 关联数组(hash数组):可自定义元素下标名称的数组
索引数组:自动从0开始分配连续不重复的序号下标
Eg: 幂幂 81 53 89
0 1 2 3
如何创建关联数组:2种方式:
1. 先创建普通空数组,再追加自定义下标的元素
var ym=[];
ym["sname"]="幂幂";
ym["shx"]=81;
ym["yw"]=53;
ym["yy"]=89;
console.log(ym);
关联数组需要注意一下几点:
1. 关联数组的length属性失效
例如:
var ym=[];
ym["sname"]="幂幂";
ym["shx"]=81;
ym["yw"]=53;
ym["yy"]=89;
console.log(ym.length);
2.关联数组中的key不能重复,否则后面出现的key中值会覆盖前面的key
var ym=[];
ym["sname"]="幂幂";
ym["shx"]=81;
ym["yw"]=53;
ym["yw"]=63;
ym["yy"]=89;
console.log(ym);
其输出结果如下:
3.关联(hash)数组优势:查找极快!和元素个数无关!
例如:var ym=[];
ym["sname"]="幂幂";
ym["shx"]=81;
ym["yw"]=53;
ym["yy"]=89;
console.log(ym["yy"]);
2. 创建数组同时,初始化元素内容:
var ym={"sname":"幂幂","shx":81,"yw":53,"yy":89};
key value
Eg:
var ym={"sname":"幂幂","shx":81,"yw":53,"yy":89};
console.log(ym);
console.log(ym["yw"]);
其输出结果如下:
关联数组中保存的是多个key/value对
键 值
如何遍历关联数组(hash数组):
for(var key in arr){//依次取出arr中每个key,无法取出key中的值
arr[key]; //获得当前正在遍历的key中存储的值
}
var ym={"sname":"幂幂","shx":81,"yw":53,"yy":89};
for(var key in ym){
console.log(key+":"+ym[key]);
}
Eg:利用hash数组去除索引数组中重复数组,并统计出原数组中每个值出现的次数
- var arr=[1,2,1,3,4,3,6,4,5,6];
- var hash=[];
- for(var i=0;i<arr.length;i++){
- if(hash[arr[i]]===undefined){
- hash[arr[i]]=1;
- }else{hash[arr[i]]++;}
- }
- console.log(hash);
- arr=[];// 清空arr中旧的数据
- //依次将hash中每个key,追加到arr中
- for(var key in hash){
- arr[arr.length]=(key-=0); //将key从字符串转换为数字
- }
- console.log(arr); //[1,2,3,4,5,6]
复制代码 其输出的结果如下:
|