对象表示数组大小为0但在

时间:2017-06-29 10:26:43

标签: typescript

我有一个ProgrammeWrapper,但我在里面有一个数组。因此,当我尝试控制包装器时,以下是我所看到的行为。

enter image description here

当我阅读关于该程序的课程时,它说空数组。任何领先都会很好。这是我正在使用的object

1 个答案:

答案 0 :(得分:2)

此行为的原因是在写入日志时生成第一行,但在展开日志时生成下一行。在控制台中运行此代码:

test = {lesson: [1, 2, 3]}; setTimeout(() => test.lesson.push(4), 0); test

这意味着在写入日志后数组会发生更改,因此第一行不会使用新大小进行更新。

此外,每次在日志中展开一条线时,即使进行了进一步的更改,也会评估所有内部值并保持不变。您实际上可以达到以下情况:

Object {lesson: Array(3)}
    lesson:Array(4)
        0: 1
        1: 2
        2: 3
        3: 4
        4: 5
        length: 5
    __proto__: Array(0)
__proto__: Object