数组包含元素,但长度为0

时间:2018-06-22 13:32:26

标签: arrays typescript

我使用的数组包含单独的数组,并在其中推送对象。

我的推送看起来像:

this.storeFilesService.base64files.filetype1.push({name: file.name, base64: str});

将对象推入子数组后,将数组记录到控制台。 console.log

(this.storeFilesService.base64files.filetype1);

控制台输出为:

[]
|-> 0: {name: "filename.pdf", base64: "JVBERi"}

但是当我将数组的长度记录到控制台时,输出为0。

console.log(this.storeFilesService.base64files.filytype1.length);  -> 0

我正在尝试检查子数组是否包含对象,但是我的if子句似乎失败了,这是长度的原因。

oboce代码是通过有角度的onInit /构造函数方法设置的。 在此之前,我在onDestroy方法的最后一个组件中执行异步诺言。我认为当我到达上述代码时,所有的承诺都应该已经解决。

为什么这是行为?

更新: 尝试了JSON控制台日志

console.log('Array : ', this.storeFilesService.base64files.filytype1, JSON.stringify(this.storeFilesService.base64files.filytype1));

JSON-> [] 对象->与上面相同,包含对象。

这怎么可能?

1 个答案:

答案 0 :(得分:0)

似乎与Chrome的实时控制台有关。即使已打印该值,控制台中的chrome也会对其进行更新。