给出以下数据,这些数据是我从 api 获取的,并且偶尔会被修改const data = [ { name: "BG", latest: false, dir: true, etag: null, objectName: "BG", size: 0, lastModified: null, storageClass: null, versionId: null, childItems: [ { etag: '"13dda89d102a62beb58c57a9477b252c"', objectName: "BG/item.xml", size: 12763, lastModified: "2020-11-17T13:13:34.735Z", storageClass: "STANDARD", versionId: null, childItems: null, name: "item.xml", latest: false, dir: false, }, { etag: '"5baf1d6bcccc266bfc76cbe36724bd99"', objectName: "BG/item.xml", size: 17856, lastModified: "2020-11-17T13:13:25.796Z", storageClass: "STANDARD", versionId: null, childItems: null, name: "item.xml", latest: false, dir: false, }, ], }, { name: "OTHER", latest: false, dir: true, etag: null, objectName: "OTHER", size: 0, lastModified: null, storageClass: null, versionId: null, childItems: [ { etag: '"ab37611f0b217b71804da19d9111bddd"', objectName: "OTHER/item.xml", size: 3953, lastModified: "2020-11-18T09:12:25.634Z", storageClass: "STANDARD", versionId: null, childItems: null, name: "item.xml", latest: false, dir: false, }, { name: "MORE", latest: false, dir: true, etag: null, objectName: "OTHER/MORE/", size: 0, lastModified: null, storageClass: null, versionId: null, },判断标准是,当dir一个对象的属性为true时,获取name并赋值给属性label中的子属性,获取和属性childItem的值nameobjectName对我来说推理是一项艰巨的任务,我提前感谢您的帮助
1 回答

慕莱坞森
TA贡献1810条经验 获得超4个赞
迭代数据项。对于每件物品,获取标签并检查dir;如果true,则递归处理子级,否则获取数据。
const processItems = items => items.map(item => {
const results = {
label: item.name,
};
if(item.dir) {
results.children = processItems(item.childItems);
}
else {
results.data = item.objectName;
}
return results;
};
const results = processItems(data);
添加回答
举报
0/150
提交
取消