gpt4 book ai didi

javascript - js 列出对象的路径信息

转载 作者:行者123 更新时间:2023-12-03 22:46:17 26 4
gpt4 key购买 nike

我试图反射(reflect) S3 存储桶的工作方式,但我在 UI 上苦苦挣扎。所以我有一堆json如下

{"name":"sams file", "path":"testfile1.jpg"},
{"name":"sams file", "path":"folder1/testfile2.jpg"},
{"name":"sams file", "path":"folder1/testfile3.jpg"},
{"name":"sams file", "path":"folder2/testfile4.jpg"},
{"name":"sams file", "path":"folder2/testfile5.jpg"},
{"name":"sams file", "path":"folder2/folder3/testfile6.jpg"},

现在我想传递 lodash 一个值,即 folder2,我希望它返回该文件夹中的所有文件名以及它包含的任何文件夹(不是文件),这样我就可以构建一个 UI,所以我基本上是在寻找一个

的数组
testfile4.jpg, testfile5.jpg and folder3

然后我应该能够检查该项目是文件还是文件夹并将 ui 呈现给用户

这听起来可行吗,有人可以建议一种更简单的方法来实现我想要的吗?

谢谢山姆

最佳答案

您可以检查路径,如果它以给定的字符串开头,然后映射第一个出现的文件夹或文件。

function getParts(array, string) {
return array
.filter(o => o.path.startsWith(string))
.map(o => o.path.match(/\/([^\/]+)/)[1]);
}

var data = [{ name: "sams file", path: "testfile1.jpg" }, { name: "sams file", path: "folder1/testfile2.jpg" }, { name: "sams file", path: "folder1/testfile3.jpg" }, { name: "sams file", path: "folder2/testfile4.jpg" }, { name: "sams file", path: "folder2/testfile5.jpg" }, { name: "sams file", path: "folder2/folder3/testfile6.jpg" }];

console.log(getParts(data, 'folder2'));

关于javascript - js 列出对象的路径信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46199022/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com