这是我在jQuery中的响应代码:
var response = $.parseJSON(response); for (var i = 0; i < response.groupIds.length; i++) { console.log(response.groupIds[i],i); }
每个response.groupIds [i]的形式为{“未知名称”:“未知值”}.
我希望在javascript中访问这两个数据位,当我事先不知道什么时,我该如何实现这一点.不明名字是?
解决方法
使用
Object.keys
检索密钥名称的完整列表(数组).填充物可在
here获得.
var group = response.groupIds[i]; var allPropertyNames = Object.keys(group); for (var j=0; j<allPropertyNames.length; j++) { var name = allPropertyNames[j]; var value = group[name]; // Do something }
您的问题的响应格式只包含一个键值对.然后可以将代码简化为:
var group = response.groupIds[i]; var name = Object.keys(group)[0]; // Get the first item of the list; = key name var value = group[name];
如果您对列表不感兴趣,请使用hasOwnProperty
的for-i-in循环.必须使用最后一个方法,以排除从原型继承的属性.
for (var name in group) { if (group.hasOwnProperty(name)) { var value = group[name]; // Do something } }