拆分字符串并确保结果数组中没有重复项的最有效方法是什么?

 王小小小小弦 发布于 2023-02-07 16:15

我将javscript字符串拆分为一个数组,其元素只包含西里尔字符序列.

    var text = "??? ?? ??? ??????? ??? ?????????? ?????? ? ???? ????????? ? ???????? ? ?????? ?????????? — ACE."
    text=text.toLowerCase();
    var re = /[^?????????????????????????????????]+/;
    words = text.split(re);

在上面的片段中,单词将包含以下内容

["???", "??", "???", "???????", "???", "??????????", "??????", "?", "????", "?????????", "?", "????????", "?", "??????", "??????????", ""] 

我需要从数组中删除副本.也就是说,我应该只看到"в"一次出现.我知道我可以在拆分后通过阵列执行此操作但不确定什么是最好的方法.是否可以使用拆分正则表达式执行此操作?

乔纳森

1 个回答
  • 不是最有效的,但它干净而简单.

    text.split(re).filter(function(str, idx, txtArray) {
        return txtArray.indexOf(str) === idx; 
    });
    

    基本上,如果找到的第一个索引与迭代中的当前索引不匹配,则它是重复的.

    2023-02-07 16:18 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有