-1

我希望有一个非常简单的问题,但如果我有代码

console.log("my args", args);

回来的结果是

Object { pageList1=null}

我如何获得名称 pageList1

这无关紧要,我只需要名称 pageList1..

这就是我尝试过的

parse: function (result, args) {
    var myKey = Object.keys(args);

    return result.data.myKey;
}

好的,所以使用答案中的一个我将代码更新为

parse: function (result, args) {

    for (variable in args) {

        return result.data.variable;
    }

}

但这不喜欢只是名称变量,因为那不在 JSON 结构中..

好的,所以答案是

parse: function (result, args) {

    var pageListVariable = Object.keys(args)[0];

    return result.data[pageListVariable];
}

当需要更改 json 的调用时。需要替换为 []

4

3 回答 3

1

你应该使用for in

for (variable in object) {
  console.log(variable)
}
于 2013-08-28T05:30:33.933 回答
1

Object.keys是访问对象键的好方法,但它确实为您提供了字符串数组中的所有键。顺便说一句,您的对象恰好只有一个键,但该函数仍然产生一个数组,尽管只有一个字符串。(事实上​​,如果它将单键对象视为一种特殊情况并且只产生一个字符串,那将是非常不方便的;在迭代结果之前,您总是必须进行类型检查)。

如果在您的特定场景中,您知道总是只有一个键,那么继续通过 index 立即访问它是完全可以的Object.keys(args)[0]

于 2013-08-28T05:36:55.880 回答
0

希望这会有所帮助:

var keys = [];
for (x in args) {
  console.log("Key=>" + x +", val="+args[x]);
  keys.push (x); //where x is the key
}
alert(keys);
于 2013-08-28T05:31:16.687 回答