我使用一个数组,其中包含单独的数组和推送对象。
我的推力看起来像:
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子句似乎失败了,原因是长度。
obace代码是在angular oninit/constructor方法中设置的。
在此之前,我在ondestroy方法中的最后一个组件中执行异步承诺。我认为当我达到上面的代码时,所有的承诺都应该被解决了。
为什么会有这种行为?
更新:
尝试了json控制台日志
console.log('Array : ', this.storeFilesService.base64files.filytype1, JSON.stringify(this.storeFilesService.base64files.filytype1));
json->[]
对象->同上,包含该对象。
这怎么可能呢?