我将尝试将表示文件系统的嵌套对象转换为字符串数组,以表示每个文件夹和文件的文件路径。
输入:
我目前的进展(它没有起作用):
输入:
let obj = {
'app': {
'body': {
'abs': {
'muscles.txt': 1
},
'foot.js': 1,
'hand.txt': 1,
'leg.txt': 1
},
'cat.txt': 1,
'dog.js': 1,
'writing': {
'pen.txt': 1,
'phone.txt': 1
}
}
};
输出:
[
'/app',
'/app/body',
'/app/body/abs/',
'/app/body/abs/muscles.txt',
'/app/body/foot.js',
'/app/body/hand.txt',
...
]
我目前的进展(它没有起作用):
function filePaths(obj, oldKey = '', store = []) {
for (let key in obj) {
if (typeof obj[key] === 'object') {
store.push('/' + key);
filePaths(obj[key], key, store);
} else {
store.push('/' + oldKey + '/' + key);
}
}
return store;
}
filePaths(obj);
/app/body/abs/
),有时没有 (/app
,/app/body
)。您想要结果带有还是不带该斜杠,或者是否有其他标准来包含或排除它? - CRice