javascript - 验证内容后获取数组中的所有唯一值
问题描述
如果我有这个非常简单的数组:
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/"]
提前致谢。有没有办法在一次操作中完成上述操作?
解决方案
我希望我能正确理解这个问题,但你可以玩弄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/"]
可能会产生你正在寻找的东西。
推荐阅读
- c - sscanf:获取指向结束位置的指针
- reactjs - 闪烁着阿波罗查询
- android - Activity.finish 在某些设备上不起作用?
- c# - 到达时自动认领 POS 蓝牙条码扫描器
- javascript - Await 仅在异步函数中有效:JavaScript NodeJS
- java - 如何解析数组中的多个 JSON 对象?
- swift - 从字符串到日期的 Swift 小时和分钟
- php - 有没有办法只使用 PHP 和 HTML 来耦合两个 HTML 选择下拉列表?
- python - 在python中查找文件当前目录的最佳方法
- assembly - 通过 x86 程序集更改位图