我想我有一个问题。我试图为输入类型文件实现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
类型为FileList
,并且没有forEach
扩展方法。您可以在[]
中将其spread转换为文件数组:
[...files].forEach(file => { /* do something */ })
或者在您的情况下,仅此就足够了:
const filesToStore = [...files]
关于javascript - 将forEach函数应用于类似对象的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55948342/