Я пишу скрипт узла, чтобы собрать кучу имен файлов и местоположений на нескольких жестких дисках. Проблема в том, что я пытаюсь подключиться к массиву объектов «dirs» с помощью цикла, поэтому вместо того, чтобы писать код для dirs [i] .tv, dirs [i] .movies, dirs [i] .images и т. Д. для каждого объекта в массиве у меня будет массив [«tv», «movies», «images,» etc «], который проходит по петле. Я закончил с чем-то вроде» dirs [i] .n «с» n «будучи переменной, определенной в цикле, но это проблема, которая не работает. Так как» n «не определено в объекте, скрипт возвращает ошибку

Ниже приведен код, с которым я работаю

var dirs = [ { name: "C", loc: "C:/", tv: undefined, movies: undefined, images: "Users/'Master William'/Pictures/", music: undefined, torrents: undefined, porn: undefined }, { name: "D", loc: "D:/", tv: "Video/TV/", movies: "Video/Movies/", images: "images/pics/", music: "Music/", torrents: "Torrents/", porn: undefined }, { name: "I", loc: "I:/", tv: "Users/heliu/Videos/TV/", movies: "Users/heliu/Videos/Movies/", images: "Users/heliu/Desktop/Will/Pics/", music: "Users/heliu/Music/", torrents: undefined, porn: "Users/heliu/Videos/Pr0n/" }, { name: "J", loc: "J:/", tv: "Video/TV/", movies: "Video/Movies/", images: "Pics", music: "Tunes/", torrents: undefined, porn: "Pornography/" } ] const fs = require("fs"); var tvArr = []; var moviesArr = []; var imagesArr = []; var musicArr = []; var torrentsArr = []; var pornArr = []; var mediaArr = ["tv", "movies", "images", "music", "torrents", "porn"]; var arrArr = [tvArr, moviesArr, imagesArr, musicArr, torrentsArr, pornArr]; for( var i = 0; i {amp}lt; dirs.length; i  ){ let o = dirs[i].loc; for( var j = 0; j {amp}lt; mediaArr.length; j  ){ let n = mediaArr[j]; if(dirs[i].n !== undefined){ let x = dirs[i].loc dirs[i].n; fs.readdirSync(x).forEach(file ={amp}gt; { arrArr[j].push(file); }) } } } 

heliumface770

новый участник этого сайта. Будьте внимательны, спрашивая разъяснения, комментируя и отвечая. Проверьте наш

Правила поведения

,

Я изменил массив данных на

var mediaArr = [dirs[i].tv, dirs[i].movies, dirs[i].images, etc..]

и ограничил его в цикле, чтобы он мог идентифицировать «я»

heliumface770

новый участник этого сайта. Будьте внимательны, спрашивая разъяснения, комментируя и отвечая. Проверьте наш

Правила поведения

,