如何遍历这些项目?

var userCache = {};
userCache['john']     = {ID: 234, name: 'john', ... };
userCache['mary']     = {ID: 567, name: 'mary', ... };
userCache['douglas']  = {ID: 42,  name: 'douglas', ... };


length属性不起作用?

userCache.length

最佳答案

您可以如下循环遍历john对象的属性(marydouglasuserCache):

for (var prop in userCache) {
    if (userCache.hasOwnProperty(prop)) {
        // You will get each key of the object in "prop".
        // Therefore to access your items you should be using:
        //     userCache[prop].name;
        //     userCache[prop].ID;
        //     ...
    }
}


重要的是使用hasOwnProperty()方法来确定对象是否具有指定的属性作为直接属性,而不是继承自对象的原型链。

10-04 16:03