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'); } }
转载于:https://www.cnblogs.com/tudas/archive/2012/07/13/javascript-special-array.html
相关资源:JavaScript关联数组用法分析【概念、定义、遍历】