首页 > 解决方案 > 验证内容后获取数组中的所有唯一值

问题描述

如果我有这个非常简单的数组:

let result = ["doc1.rtf","doc2.rtf","test/doc4.rtf","test/doc4.rtf","test/doc6.rtf"]

我可以通过运行类似的东西找到独特的事件。

let unique = [...new Set(result)]; 

这将返回我:

["doc1.rtf","doc2.rtf","test/doc4.rtf","test/doc6.rtf"]

但是我想要做的是在过滤掉任何内容直到前导斜杠之后,在数组中搜索任何独特的东西。因此,在我过滤掉重复项之前,数组将如下所示test/

let filtered = ["doc1.rtf","doc2.rtf","test/","test/","test/"]

提前致谢。有没有办法在一次操作中完成上述操作?

标签: javascriptarrays

解决方案


我希望我能正确理解这个问题,但你可以玩弄map. 例如:

result.map(r => r.split('/')[0])
# ["doc1.rtf", "doc2.rtf", "test", "test", "test"]

result.map(r => r.replace(/\/.*/, '/'))
# ["doc1.rtf", "doc2.rtf", "test/", "test/", "test/"]

可能会产生你正在寻找的东西。


推荐阅读