-2

我正在尝试将哈希图转换为 javascript 的对象,然后我传递一个键,即对象的属性并想要检索它的值;Hashmap mcl = {AB=1,BC=2,DE=3} 。现在,当我发送值 AB 时,它会给出输出,但是当我传递 BC 或 DE 时,它不会。有人可以建议吗?

function getCount(key)
        {

            var map='<%=mcl%>';

            var nmap=new Object();
            var z=map.substr(1, map.length-2);

            var y=z.split(',');
            for(var i=0;i<y.length;i++)
            {
                var k=y[i];
                var m=k.split("=");
                nmap[m[0]]=m[1];
            }
            alert(nmap[key])
        }
4

2 回答 2

1

您的示例;用作分隔符 ( {AB=1;BC=2;DE=3}),但您的代码使用,( z.split(','))。

于 2012-11-29T07:18:00.963 回答
1

您以逗号,分隔,但您的示例由分号分隔;

改成:

var y=z.split(';');

编辑:如果您的数据有逗号,并且您在逗号上拆分,那么您的代码就可以了。您是否忘记实际调用该函数?除非你调用它,否则它不会执行。

getCount('AB');

jsFiddle 演示

于 2012-11-29T07:18:22.917 回答