用Node.jslogging遍历的fspath

我有一个工具,正在通过某些文件的文件系统进行并发search。 当该工具通过fssearch时,可能会发现它需要在原来不包含在search中的目录中进行search。

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

我想不出一个更好的方式来记忆文件path,除非存储在像这样的散列:

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 }; 

然后我做一个快速查找,看看我是否需要search某个目录。 这个解决scheme令人感到尴尬的是,哈希中的值几乎可以是任何东西 – 真,假,未定义的。

这是记忆遍历文件path的最好方法吗?

撇开,就是performance

 key in hash 

一样

 hash[key] 

如果是这样的话,那么存储的值就会有一些值:

当一个目录开始被search时,我可以使这个值为false,然后当目录search结束时,我可以将值翻转为true。 那么价值至less意味着什么

Map

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

Map对象包含键值对。 任何值(对象和原始值)都可以用作键或值。

Set

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

通过Set对象,可以存储任何types的唯一值,无论是原始值还是对象引用。

我会selectSet ,但我不知道两者之间的性能比较testing时,如果该值已经存在集合。