gpt4 book ai didi

node.js - 使用 Node.js 记住遍历的 fs 路径

转载 作者:太空宇宙 更新时间:2023-11-03 23:25:35 26 4
gpt4 key购买 nike

我有一个工具可以通过文件系统并发搜索某些文件。当该工具搜索文件系统时,它可能会发现它需要在最初未包含在搜索中的目录中进行搜索。

我应该做的是记住已经开始搜索的每个目录。

我想不出更好的方法来记住文件路径,除了将它们存储在像这样的散列中:

interface IMemoizationMap {
[key: string]: boolean
}

所以可能看起来像:

const hash = {
'/Users/you/projects/x': true,
'/Users/you/projects/x/lib': true,
'/Users/you/projects/x/lib': true,
...
...
'/Users/you/some-stuff/z': true
};

然后我快速查找一下是否需要搜索某个目录。这个解决方案让人感觉尴尬的是散列中的值几乎可以是任何东西——真、假、未定义。

这是记住遍历的文件路径的最佳方法吗?

顺便说一句,性能是

key in hash

同上

hash[key]

如果是这种情况,那么存储为值的数据就有一定的值(value):

当开始搜索目录时,我可以将值设为 false,然后当目录完成搜索时,我可以将值翻转为 true。那么这个值至少意味着某种东西

最佳答案

使用 map :

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Map

The Map object holds key-value pairs. Any value (both objects and primitive values) may be used as either a key or a value.

设置:

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Set

The Set object lets you store unique values of any type, whether primitive values or object references.

我会选择Set,但在测试该值是否已存在于集合中时,我不知道两者之间的性能比较。

关于node.js - 使用 Node.js 记住遍历的 fs 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44750249/

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