0

当我在 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']);
}
4

2 回答 2

4

因为关键是'Code',不是Code,注意单引号',你需要做 alert(fields["'Code'"]);

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

于 2012-08-09T11:08:53.453 回答
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'"]);
}

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

于 2012-08-09T11:17:06.263 回答