javascript关联数组
2012-07-13 19:11
281 查看
在javascript中,数组就是对象。因而对数组的存取除了熟悉的整形数字下标法之外,还能用采用对象式的存取方法,即关联数组用法。
直接看例子:
//array的类型
var arr=[]; arr.name="caochao"; console.log(typeof arr); //object
//类似于hashtable key->value形式,与php中关联数组用法几乎一样
var arr=[]; arr["name"]="caochao"; console.log(arr["name"]); //caochao
var arr=[]; arr["name"]=["caochao","lsl","wy"]; console.log(arr.name); //["caochao", "lsl", "wy"]
//之前的赋值会被之后的赋值覆盖
var arr=[]; arr["name"]="caochao"; arr["name"]="lsl"; console.log(arr["name"]); //lsl
//像对象一样赋值
var arr=[]; arr.name="caochao"; console.log(arr["name"]); //caochao;
var arr=[]; arr.name="caochao"; console.log(arr.name); //caochao;
var arr=[]; arr.name="caochao"; arr.name="lsl"; console.log(arr.name); //lsl
//chrome中测试结果
但需要注意的是,采用这种赋值方式数组本身是空的,必须用字符串下标或点式法存取赋与数组的值:
var arr=[]; arr["name"]="caochao"; console.log(arr); //[]
var arr=[]; arr.name="caochao"; console.log(arr); //[]
文章最后,为大家奉献上一个javascript版的dictionary实现:
直接看例子:
//array的类型
var arr=[]; arr.name="caochao"; console.log(typeof arr); //object
//类似于hashtable key->value形式,与php中关联数组用法几乎一样
var arr=[]; arr["name"]="caochao"; console.log(arr["name"]); //caochao
var arr=[]; arr["name"]=["caochao","lsl","wy"]; console.log(arr.name); //["caochao", "lsl", "wy"]
//之前的赋值会被之后的赋值覆盖
var arr=[]; arr["name"]="caochao"; arr["name"]="lsl"; console.log(arr["name"]); //lsl
//像对象一样赋值
var arr=[]; arr.name="caochao"; console.log(arr["name"]); //caochao;
var arr=[]; arr.name="caochao"; console.log(arr.name); //caochao;
var arr=[]; arr.name="caochao"; arr.name="lsl"; console.log(arr.name); //lsl
//chrome中测试结果
但需要注意的是,采用这种赋值方式数组本身是空的,必须用字符串下标或点式法存取赋与数组的值:
var arr=[]; arr["name"]="caochao"; console.log(arr); //[]
var arr=[]; arr.name="caochao"; console.log(arr); //[]
文章最后,为大家奉献上一个javascript版的dictionary实现:
function Dictionary(){ this.buffer=[]; } Dictionary.prototype={ get:function(key){ if(this.contain(key)){ return this.buffer[key]; }else{ return null; } }, add:function(key,value){ if(!this.contain(key)){ this.buffer[key]=value; } }, remove:function(key){ if(this.contain(key)){ this.buffer[key]=undefined; } }, getKeys:function(){ var r=[]; for(var k in this.buffer){ r.push(k); } return r; }, getValues:function(){ var r=[]; for(var k in this.buffer){ r.push(this.get(k)); } return r; }, contain:function(key){ return (typeof this.buffer[key]!='undefined'); } }
相关文章推荐
- javascript 中获取对象的长度(map对象的长度)--js关联数组的长度
- Javascript的常规数组和关联数组对比小结
- javascript关联数组
- 关联数组序列化 javascript
- javascript 关联数组的一个用法
- JavaScript中的关联数组问题
- JavaScript中作为关联数组的对象
- javaScript关联数组
- 关于JavaScript中的关联数组分析
- javascript中的关联数组
- 关于JavaScript中的关联数组分析
- JavaScript中的关联数组问题
- javascript关联数组用法总结
- javascript中的关联数组
- javascript中数组、关联数组、对象的基本对比
- 关于JavaScript中的关联数组分析
- JavaScript关联数组用法分析【概念、定义、遍历】
- 【javascript】javascript中for...in...遍历关联数组
- javascript 关联数组的一个用法
- JavaScript对象之关联数组