我想我有一个问题。我试图为输入类型文件实现onchangedhandler方法。

这是一段代码

const { target: { files } } = event
       const filesToStore = []
       files.forEach(file => {
          filesToStore.push(file)
       })
console.log(filesToStore)



  但是我有一个问题。 TypeError:files.forEach不是函数


我试图抓住文件,我发现它是一个类似于对象的数组,在我的情况下,如何从输入转换为数组并存储在filesToStore文件中?

console.log(文件)

FileList {0: File, length: 1}
0: File {name: "176B8706.jpg", lastModified: 1556695382251, lastModifiedDate: Wed May 01 2019 10:23:02 GMT+0300 (Москва, стандартное время), webkitRelativePath: "", size: 7924152, …}
length: 1
__proto__: FileList

最佳答案

files类型为File​List,并且没有forEach扩展方法。您可以在[]中将其spread转换为文件数组:

[...files].forEach(file => { /* do something */ })


或者在您的情况下,仅此就足够了:

const filesToStore = [...files]

关于javascript - 将forEach函数应用于类似对象的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55948342/

10-12 12:53
查看更多