不能将 forEach 与文件列表一起使用

2022-08-30 00:48:40

我正在尝试循环通过:Filelist

console.log('field:', field.photo.files)
field.photo.files.forEach(file => {
   // looping code
})

如您所见,有一个:field.photo.filesFilelist

enter image description here

如何正确循环通过?field.photo.files


答案 1

A 不是 ,但它确实符合其契约(有和数字索引),所以我们可以“借用”方法:FileListArraylengthArray

Array.prototype.forEach.call(field.photo.files, function(file) { ... });

由于您显然使用的是ES6,因此您也可以使用新方法将其正确使用:ArrayArray.from

Array.from(field.photo.files).forEach(file => { ... });

答案 2

您还可以使用简单 for 进行迭代:

var files = field.photo.files;

for (var i = 0; i < files.length; i++) {
    console.log(files[i]);
}