不要在javascript中获得返回关联数组

时间:2012-08-09 11:04:39

标签: javascript arrays associative-array key-value

当我在javascript中创建关联数组时,我遇到了类似的问题。 我想通过使用字段名称作为键来获取值,但我只是未定义。 我应该怎样做才能通过关键或哪种方式获得价值。

这是我的代码

function getFields(pVal){
    var tmpObj = {};
    str = pVal.split(",");
    for(i=0;i<str.length;i++){
        tmpVal = str[i].split(":");
        tmpObj[tmpVal[0]] = tmpVal[1];  
    }
    return tmpObj;
}

function JustTest(){
   var fields = {}; 
   fields = getFields("'Code':'PRJ001','Name':'Project 01'");
   alert(fields['Code']);
}

2 个答案:

答案 0 :(得分:4)

由于密钥为'Code',而非Code,请注意单引号',您需要执行alert(fields["'Code'"]);

PS: 请在声明末尾添加;,省略它们是不好的做法。

答案 1 :(得分:0)

我重新考虑了代码,试试这个:

function getFields(pVal) {
    var tmpObj = {};
    var str = pVal.split(",");
    for (var i = 0; i < str.length; i++) {
        var tmpVal = str[i].split(":");
        tmpObj[tmpVal[0]] = tmpVal[1];
    }
    return tmpObj;
}

function JustTest() {
    var fields = { };
    fields = getFields("'Code':'PRJ001','Name':'Project 01'");
    alert(fields["'Code'"]);
}

如果您有任何疑问,请在下面评论代码,谢谢