读书人

字典之遍历解决方案

发布时间: 2012-04-01 17:23:46 作者: rapoo

字典之遍历
第一种声明:(对象式)

JScript code
var menuHead = { "standard_": "标准", "style_": "样式", "code_": "代码"};

缺点:
当它的key相同是无法增加!

优点:
编历easy!
JScript code
for(var key in menuHead ){    var value=  menuHead[key];    alert(key+":"+value);}


第二种声明:(数组 括对象式)
JScript code
var strs =[{"1":2},{"1":4},{"2":2},{"2":4}];strs.push({"mm","very beautiful"});//还可以这样加

缺点:
编历非常难!
JScript code
for(var key in strs){    for(var k in strs[key])    {        value = strs[key][k];        alert(k+":"+value);//读取key: value:    }}


优点:
当它的key相同 一样可以增加!


第三种声明:(数组 括对象[多元素]式)
JScript code
var strs =[{"key":1,"value",1},{"key":2,"value",20}];

优点:
编历easy!
JScript code
for(var key in strs){    var value = strs[key]["value"];    var k= strs[key]["key"];    alert(k+":"+value);//读取key: value:}

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

以上三种,都不太理想,
求更好!

[解决办法]
既然是字典,key就应该无重复啊!

看看 hashtable之类的 key 都不允许重复啊。
[解决办法]
第一种可以变通下
var menuHead = { "standard_": "标准", "style_": "样式", "code_": "代码"};
可以在key后面加个自增编号,如var menuHead = { "standard_1": "标准", "style_2": "样式", "code_3": "代码","code_4": "代码"};
在遍历的时候把那个编号去掉不就可以了
一句话"变则通"

读书人网 >JavaScript

热点推荐