第一种声明:(对象式)
var menuHead = { "standard_": "标准", "style_": "样式", "code_": "代码"};
缺点:
   当它的key相同是无法增加!
   
优点:
   编历easy!
for(var key in menuHead )
{
var value=  menuHead[key];
alert(key+":"+value);
} 第二种声明:(数组 括对象式)
var strs =[{"1":2},{"1":4},{"2":2},{"2":4}];
strs.push({"mm","very beautiful"});//还可以这样加缺点:
 编历非常难!for(var key in strs)
{
for(var k in strs[key])
{
value = strs[key][k];
alert(k+":"+value);//读取key: value:
}
}
   
优点:
   当它的key相同 一样可以增加!
 第三种声明:(数组 括对象[多元素]式)
var strs =[{"key":1,"value",1},{"key":2,"value",20}];
优点:
  编历easy!
for(var key in strs)
{
var value = strs[key]["value"];
var k= strs[key]["key"];
alert(k+":"+value);//读取key: value:
}
缺点:
 内存大,速度慢一倍!以上三种,都不太理想,
 求更好!

解决方案 »

  1.   

    既然是字典,key就应该无重复啊!看看 hashtable之类的  key 都不允许重复啊。
      

  2.   

    第一种可以变通下
    var menuHead = { "standard_": "标准", "style_": "样式", "code_": "代码"};
    可以在key后面加个自增编号,如var menuHead = { "standard_1": "标准", "style_2": "样式", "code_3": "代码","code_4": "代码"};
    在遍历的时候把那个编号去掉不就可以了
    一句话"变则通"