JSFiddle - React, Tailwind, and code Playground
by serGlazkov
HTML
<script src="https://cdn.jsdelivr.net/npm/[email protected]/umd/qim.min.js"></script>
JavaScript
const data = [{
"directoryId": "270cba471dcab9eb51c321da8d1953c6",
"contents": [{
"documentId": "fb1f578b2173445a69318e3a1539ce83",
"linkToDocument": "/api/students/04126fae-ab7b-44cd-bbd5-777bd566ab0c/work-product/document/fb1f578b2173445a69318e3a1539ce83",
"path": "newfolder/123file.txt",
"name": "123file.txt"
},
{
"documentId": "d35ad1bb8d76cb48f2fad4b2af8a7010",
"linkToDocument": "/api/students/04126fae-ab7b-44cd-bbd5-777bd566ab0c/work-product/document/d35ad1bb8d76cb48f2fad4b2af8a7010",
"path": "newfolder/file333.txt",
"name": "file333.txt"
}
],
"linkToDirectory": "/api/students/04126fae-ab7b-44cd-bbd5-777bd566ab0c/work-product/directory/270cba471dcab9eb51c321da8d1953c6",
"path": "newfolder",
"name": "newfolder"
},
{
"documentId": "b52f6f78c93f7934d640cc67ae99fbd1",
"linkToDocument": "/api/students/04126fae-ab7b-44cd-bbd5-777bd566ab0c/work-product/document/b52f6f78c93f7934d640cc67ae99fbd1",
"path": "123.txt",
"name": "123.txt"
},
{
"documentId": "59323c6ddd87a0c15a5d85af7e01b3d3",
"linkToDocument": "/api/students/04126fae-ab7b-44cd-bbd5-777bd566ab0c/work-product/document/59323c6ddd87a0c15a5d85af7e01b3d3",
"path": "333.txt",
"name": "333.txt"
}
]
const currentFolder = '333.txt';
const $eachElements = $nav(item => {
if (Array.isArray(item)) {
return [$each, $eachElements];
}
if (Array.isArray(item.contents)) {
if (item.path === currentFolder) {
return [];
}
return ['contents', $each, $eachElements];
}
return [];
});
const currentFolderObj = find(
[$eachElements, file => file.path === currentFolder],
data,
);
console.log(currentFolderObj);