为了账号安全,请及时绑定邮箱和手机立即绑定

js算法 输入一篇英文文章,统计单词个数,并找出来重复的单词,并指明个数,并能替换想要替换的单词

js算法 输入一篇英文文章,统计单词个数,并找出来重复的单词,并指明个数,并能替换想要替换的单词

慕桂英3389331 2018-06-27 14:30:11
想了很久,卡在了不知道找出重复单词及个数,我放到数组里,输出计数都不太正确
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

    var s = 'During the ITB China 2018 held in Shanghai, COTRI presented the CTW Award 2018 in the Special Individual Recognition category to Mr. David L. Shields, Vice President, Sales of Island Routes Caribbean Adventures. CTW Award is recognized inside and outside China as the most important quality sign for the international Chinese outbound market.'
    var kv = {}, arr = s.split(/[ , .]/g)
    for (var i = 0; i < arr.length; i++)
        if (arr[i]) {
            kv[arr[i]] = (kv[arr[i]] || 0) + 1
            //如果不考虑大小写用下面的
            //kv[arr[i].toLowerCase()] = (kv[arr[i].toLowerCase()] || 0) + 1
        }
    alert(JSON.stringify(kv, null, 4))
    //只考虑重复的可以删除删除个数为1的
    for (attr in kv) if (kv[attr] == 1) delete kv[attr]
    alert(JSON.stringify(kv, null, 4))
    //替换in ==> 在
    var kw = 'in', to = '在'
    s = s.replace(new RegExp('\\b' + kw + '\\b', 'gi'), to);
    alert(s)


查看完整回答
反对 回复 2018-07-13
?
长风秋雁

TA贡献1757条经验 获得超7个赞

采用类似冒泡法的算法 或者列表发从首字母A开始查


查看完整回答
反对 回复 2018-07-13
  • 2 回答
  • 0 关注
  • 241 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信