【发布时间】:2018-12-02 00:02:25
【问题描述】:
我使用一个数组,其中包含单独的数组并在其中推送对象。
我的推送看起来像:
this.storeFilesService.base64files.filetype1.push({name: file.name, base64: str});
将对象推入子数组后,我将数组记录到控制台。 控制台日志
(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 -> [] Object -> 同上,包含对象。
这怎么可能?
【问题讨论】:
-
有机会在 plunkr 或类似网站上复制它吗?因为没有上下文很难看到发生了什么。
标签: arrays typescript