字典之遍历

hetengfei_ 2012-02-08 10:49:41
第一种声明:(对象式)
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:
}

缺点:
内存大,速度慢一倍!

以上三种,都不太理想,
求更好!
...全文
129 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
第一种可以变通下
var menuHead = { "standard_": "标准", "style_": "样式", "code_": "代码"};
可以在key后面加个自增编号,如var menuHead = { "standard_1": "标准", "style_2": "样式", "code_3": "代码","code_4": "代码"};
在遍历的时候把那个编号去掉不就可以了
一句话"变则通"
hch126163 2012-02-08
  • 打赏
  • 举报
回复
既然是字典,key就应该无重复啊!

看看 hashtable之类的 key 都不允许重复啊。

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧