当我在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']);
}
答案 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'"]);
}
如果您有任何疑问,请在下面评论代码,谢谢