Array的奇怪表示

时间:2017-08-08 18:18:33

标签: javascript html arrays angular typescript

我将数组声明为:

list: string[] = [];

我推动它:

let infoFile: string = fileReader.result;
      this.list.push(infoFile);

当我使用控制台日志时,我得到了一些奇怪的东西

    []
0
:
"data:image/jpeg;base64,/9j/4AAQSkZJRgA.....
1
:
"data:image/jpeg;base64.....
length
:
2
__proto__
:
Array(0)

为什么我不会得到类似的东西:

[ "str1", "str2", .. ]

当我使用list [0]时,我得到错误,它是未定义的。如何使用这些数据?

1 个答案:

答案 0 :(得分:0)

您的代码

let infoFile: string = fileReader.result;
this.list.push(infoFile);

认为 fileReader.result字符串。它实际上是一个ArrayBuffer:https://developer.mozilla.org/en-US/docs/Web/API/FileReader/result

因此你会得到像

这样的物品
"data:image/jpeg;base64,/9j/4AAQSkZJRgA.....
length: 1

而不是

"data:image/jpeg;base64,/9j/4AAQSkZJRgA....."