var structure = {};
let paths = [
"user/folder1/file1.txt",
"user/folder1/file2.txt",
"user/folder1/subFolder1/file3.txt",
"user/folder1/subFolder2/file4.txt",
"user/folder1/subFolder3/subFolder4/file5.txt",
"user/folder2/file1.txt"
];
paths.forEach(p =>
p.split("/").reduce((o, k) => (o[k] = o[k] || {}), structure)
);
// console.log(structure);
{
user: {
folder1: {
'file1.txt': {},
'file2.txt': {},
subFolder1: { 'file3.txt': {} },
subFolder2: { 'file4.txt': {} },
subFolder3: { subFolder4: { 'file5.txt': {} } }
},
folder2: { 'file1.txt': {} }
}
}