我有以下包含数组的对象:

我正在对它进行迭代,以获得它的键值,就像进一步使用它一样,使用for in来获取其中的数据。
for (let key in gameObj){
console.log(key);
}但是为了得到数组,它甚至没有进入循环。
我错过了什么?
发布于 2017-11-23 04:53:39
我会加上这条评论,但还没有这个名气。请参阅Is it possible to get the non-enumerable inherited property names of an object?
function getAllProperties(obj){
var allProps = []
, curr = obj
do{
var props = Object.getOwnPropertyNames(curr)
props.forEach(function(prop){
if (allProps.indexOf(prop) === -1)
allProps.push(prop)
})
}while(curr = Object.getPrototypeOf(curr))
return allProps
}发布于 2017-11-23 04:46:33
它工作得很好。检查一下小提琴。
var gameObj = {
"key1" : ["1","1","1","1","1","1","1"],
"key2": ["2","2","2","2","2","2","2","2","2","2",]
}
for(var i in gameObj){
alert(i);
}
发布于 2017-11-23 04:47:17
如果你想访问for循环中的对象,key将是关键,那么你只需要像调用数组一样调用它:
const gameObj = {
'99lEEbmV7s': ['37966', '37966', '37965', '37966', '0'],
'TggZdsbcje': ['37966', '37966', '37965', '37966', '0']
};
for (let key in gameObj){
console.log(gameObj[key]);
}
https://stackoverflow.com/questions/47443551
复制相似问题