最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實(shí)現(xiàn)文本相似度對(duì)比

 更新時(shí)間:2022年06月02日 11:46:03   作者:??三苗同學(xué)????  
這篇文章主要介紹了JavaScript實(shí)現(xiàn)文本相似度對(duì)比,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

一、發(fā)現(xiàn)問(wèn)題

在開(kāi)發(fā)過(guò)程中,難免會(huì)使用到2個(gè)(多個(gè))文本內(nèi)容處理,一是便于宏觀知道文本的重合度,而是更好的區(qū)分文本的創(chuàng)新度,也能更好的避免出現(xiàn)大篇幅復(fù)制。

為此,可以通過(guò)2個(gè)文本的相似度對(duì)比來(lái)實(shí)現(xiàn)業(yè)務(wù)需求。

二、解決問(wèn)題

如果使用后端語(yǔ)言1來(lái)處理,就需要調(diào)取接口,對(duì)比少量的短文本可以實(shí)現(xiàn),但是一旦遇到在界面實(shí)現(xiàn)多個(gè)文本對(duì)比,并且篇幅巨多,再通過(guò)接口可能就出現(xiàn)耗時(shí)特別長(zhǎng)的情況。既然如此,但不如直接使用前端來(lái)處理。

使用算法:編輯距離。

1、編輯距離的概念

設(shè)A和B是兩個(gè)字符串,使用最少的字符操作將字符串A轉(zhuǎn)換為B。字符操作包括:(1)刪除一個(gè)字符;(2)插入一個(gè)字符;(3)將一個(gè)字符改寫(xiě)為另一個(gè)字符。將字符串A變換為字符串B所需要的最少字符操作數(shù)稱為字符串A到字符串B的編輯距離(Edit Distance)

2、測(cè)試文本

舉例,文字來(lái)自網(wǎng)絡(luò)。

文本1

北京商報(bào)訊(記者 魏蔚)1月21日,交通運(yùn)輸部官方微信公眾號(hào)披露,1月20日上午,交通運(yùn)輸新業(yè)態(tài)協(xié)同監(jiān)管部際聯(lián)席會(huì)議辦公室對(duì)滿幫、貨拉拉、滴滴貨運(yùn)、快狗打車等4家互聯(lián)網(wǎng)道路貨運(yùn)平臺(tái)公司進(jìn)行約談,對(duì)滴滴出行、曹操出行、T3出行、美團(tuán)出行等4家網(wǎng)約車平臺(tái)公司進(jìn)行提醒。

文本2

智通財(cái)經(jīng)APP獲悉,1月20日,交通運(yùn)輸新業(yè)態(tài)協(xié)同監(jiān)管部際聯(lián)席會(huì)議辦公室對(duì)滿幫、貨拉拉、滴滴貨運(yùn)、快狗打車等4家互聯(lián)網(wǎng)道路貨運(yùn)平臺(tái)公司進(jìn)行約談,對(duì)滴滴出行、曹操出行、T3出行、美團(tuán)出行等4家網(wǎng)約車平臺(tái)公司進(jìn)行提醒。

3、代碼實(shí)現(xiàn)

實(shí)現(xiàn)代碼如下,最后返回的數(shù)據(jù)邏輯可以自行修改。

/**
 * 相似度對(duì)比
 * @param s 文本1
 * @param t 文本2
 * @param f 小數(shù)位精確度,默認(rèn)2位
 * @returns {string|number|*} 百分?jǐn)?shù)前的數(shù)值,最大100. 比如 :90.32
 */
function similar(s, t, f) {
  if (!s || !t) {
    return 0
  }
  if(s === t){
    return 100;
  }
  var l = s.length > t.length ? s.length : t.length
  var n = s.length
  var m = t.length
  var d = []
  f = f || 2
  var min = function (a, b, c) {
    return a < b ? (a < c ? a : c) : (b < c ? b : c)
  }
  var i, j, si, tj, cost
  if (n === 0) return m
  if (m === 0) return n
  for (i = 0; i <= n; i++) {
    d[i] = []
    d[i][0] = i
  }
  for (j = 0; j <= m; j++) {
    d[0][j] = j
  }
  for (i = 1; i <= n; i++) {
    si = s.charAt(i - 1)
    for (j = 1; j <= m; j++) {
      tj = t.charAt(j - 1)
      if (si === tj) {
        cost = 0
      } else {
        cost = 1
      }
      d[i][j] = min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost)
    }
  }
  let res = (1 - d[n][m] / l) *100
  return res.toFixed(f)
}

4、相似度對(duì)比結(jié)果

根據(jù)測(cè)試文本對(duì)比,結(jié)果為:

75.00

到此這篇關(guān)于JavaScript實(shí)現(xiàn)文本相似度對(duì)比的文章就介紹到這了,更多相關(guān)js文本相似度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • javascript阻止scroll事件多次執(zhí)行的思路及實(shí)現(xiàn)

    javascript阻止scroll事件多次執(zhí)行的思路及實(shí)現(xiàn)

    阻止scroll事件多次執(zhí)行主要是為了解決一些常見(jiàn)網(wǎng)頁(yè)特效在js解析時(shí)預(yù)期與效果不同,感興趣的朋友可以了解下
    2013-11-11
  • 微信jssdk踩坑之簽名錯(cuò)誤invalid signature

    微信jssdk踩坑之簽名錯(cuò)誤invalid signature

    這篇文章主要介紹了微信jssdk踩坑之簽名錯(cuò)誤invalid signature,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • webpack 最佳配置指北(推薦)

    webpack 最佳配置指北(推薦)

    這篇文章主要介紹了webpack 最佳配置指北的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • js實(shí)現(xiàn)上下滑動(dòng)輪播

    js實(shí)現(xiàn)上下滑動(dòng)輪播

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)上下滑動(dòng)輪播,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • javascript 實(shí)現(xiàn)的完全兼容鼠標(biāo)滾軸縮放圖片的代碼

    javascript 實(shí)現(xiàn)的完全兼容鼠標(biāo)滾軸縮放圖片的代碼

    以前看到的都是用IE的zoom,所以非IE就不支持,昨天看到這個(gè)js中鼠標(biāo)滾輪事件詳解 ,于是完全兼容(IE6-8,FF,Chrome,Opera,Safari)的鼠標(biāo)滾軸縮放圖片效果今天就誕生了
    2010-02-02
  • JavaScript實(shí)現(xiàn)合并(歸并)排序算法示例解析

    JavaScript實(shí)現(xiàn)合并(歸并)排序算法示例解析

    這篇文章主要為大家介紹了JavaScript實(shí)現(xiàn)合并(歸并)排序算法示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • console.log()與console.dir()的區(qū)別及說(shuō)明

    console.log()與console.dir()的區(qū)別及說(shuō)明

    這篇文章主要介紹了console.log()與console.dir()的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • js控制的遮罩層實(shí)例介紹

    js控制的遮罩層實(shí)例介紹

    把項(xiàng)目里很土的彈窗,改成了遮罩層顯示,現(xiàn)在感覺(jué)好多了。在這里創(chuàng)建一個(gè)div和body一樣大小,這樣就可以把整個(gè)頁(yè)面全部蓋住了,具體實(shí)現(xiàn)祥看本文,希望可以幫助到你
    2013-05-05
  • Javascript立即執(zhí)行函數(shù)(IIFE)實(shí)例詳解

    Javascript立即執(zhí)行函數(shù)(IIFE)實(shí)例詳解

    IIFE全拼Imdiately?Invoked?Function?Expression,是一個(gè)在定義的時(shí)候就立即執(zhí)行的JavaScript函數(shù),這篇文章主要給大家介紹了關(guān)于Javascript立即執(zhí)行函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • livereload工具實(shí)現(xiàn)前端可視化開(kāi)發(fā)【推薦】

    livereload工具實(shí)現(xiàn)前端可視化開(kāi)發(fā)【推薦】

    本文將介紹一個(gè)工具--livereload。這是一款能根據(jù)你本地文件(html、css、js)的變化,自動(dòng)跟蹤刷新瀏覽器的實(shí)時(shí)刷新工具,有了這個(gè)工具,會(huì)大大減輕你刷新頁(yè)面的工作量。下面跟著小編一起來(lái)看下吧
    2016-12-12

最新評(píng)論

陆川县| 宣武区| 行唐县| 静乐县| 鄯善县| 冕宁县| 陵水| 永川市| 炉霍县| 锡林浩特市| 饶阳县| 青州市| 青岛市| 临朐县| 岳西县| 翼城县| 陵川县| 定陶县| 临湘市| 邵武市| 胶州市| 桐庐县| 宜君县| 神农架林区| 西安市| 鄂托克旗| 阜新市| 大竹县| 交口县| 景泰县| 商丘市| 酉阳| 图们市| 合作市| 胶南市| 若羌县| 潢川县| 上饶县| 都匀市| 旅游| 罗定市|