J'essaie de passer en boucle à travers un Filelist
:
console.log('field:', field.photo.files)
field.photo.files.forEach(file => {
// looping code
})
Comme vous pouvez le voir, field.photo.files
a un Filelist
:
Comment bien boucler à travers field.photo.files
?
Une FileList
n'est pas une Array
, mais elle est conforme à son contrat (a length
et indices numériques), de sorte que nous pouvons "emprunter" Array
méthodes:
Array.prototype.forEach.call(field.photo.files, function(file) { ... });
Puisque vous utilisez évidemment ES6, vous pouvez aussi en faire un Array
correct, en utilisant la nouvelle méthode Array.from
:
Array.from(field.photo.files).forEach(file => { ... });
Vous pouvez également itérer avec un simple pour:
var files = field.photo.files;
for (var i = 0; i < files.length; i++) {
console.log(files[i]);
}