Bonjour,
Je débute en JS et NodeJs et je souhaite réaliser une fonction qui liste les fichiers d'un dossier et qui retourne la même structure de ce qui est dans le code ci-dessous et je bloque dessus depuis 2 jours. Si quelqu'un peu m'orienter sur une solution ce serait super sympa
Ce que je souhaite:
const photos = [
{
src: "https://source.unsplash.com/2ShvY8Lf6l0/800x599",
width: 4,
height: 3
},
{
src: "https://source.unsplash.com/Dm-qxdynoEc/800x799",
width: 1,
height: 1
}
];
Mon code actuel:
const fs = require('fs');
var tableau = new Array();
function Image(path, width = 3, height = 4) {
this.src = path;
this.width = width;
this.height =height;
}
function returnList(dir) {
// Function to get current filenames
// in directory
fs.readdir(dir, (err, files) => {
if (err)
console.log(err);
else {
files.forEach(file => {
file = "./photos/" + file;
tableau.push(new Image(file));
})
}
console.log(tableau);
return tableau;
})
}
var list = returnList('photos');
Ce que mon code retourne actuellement:
[
Image {
src: './photos/Annotation 2020-06-30 100959sadfasdfasdf.png',
width: 3,
height: 4
},
Image { src: './photos/file-1.txt', width: 3, height: 4 },
Image { src: './photos/file-2.txt', width: 3, height: 4 }
]
Je bloque sur la structure de sortie, je pense que pour le reste je devrais trouver des solutions.
Merci d'avance :-)
Bonjour,
Il faudrait que tu changes ta fonction Image pour quelque chose comme ça:
function Image(path, width = 3, height = 4) {
return {
src: path,
width,
height,
}
}
Hello, super merci de la réponse :-)
En continuant de chercher j'ai trouver une solution moins "pro " qui était
delete image.constructor.name;
Ce qui allait aussi. Mais je vais utilisé ta solution qui est bien mieux merci de ton aide