错误的数组长度

时间:2015-03-20 15:13:35

标签: javascript arrays

关于数组的长度,我有一些奇怪的事情,也许这个问题很明显,而且我看不到它。 我有一个数组:this.roles是一个简单对象的数组:

this.roles = [
    {
        GRO_id:1,
        ROL_id:1
    }
];

当我在其中添加对象时,我使用方法push与一个新对象:

this.roles.push({
    GRO_id: GRO_id,
    ROL_id: ROL_id
});

但是当我尝试循环this.roles时,脚本似乎无法遍历所有对象,所以我尝试使用console.log查看它给出了什么:

console.log(this.roles);                //l.69
console.log(this.roles[0]);             //l.70
console.log(this.roles[1]);             //l.71
console.log(this.roles.length);         //l.72
console.log(this.roles);                //l.73

以下是结果:

[Object]
    0: Object
    1: Object
    length: 2
    __proto__: Array[0]                 //l.69

Object {GRO_id: 1, ROL_id: 1}           //l.70

Undefined                               //l.71

1                                       //l.72

[Object]
    0: Object
    1: Object
    length: 2
    __proto__: Array[0]                 //l.73

有人可以向我解释为什么我的长度不同吗?好像对象被包裹在一个对象中,或者好像我不小心把变量this.roles引用了2个不同的数组...

0 个答案:

没有答案