發布於 2023-03-27

更新於 2023-03-27

程式

約728字 (4分鐘閱讀)

使用 JavaScript 統計單詞頻率

Title Image

Photo by Sincerely Media on Unsplash

前言 - Prologue

文字處理是很常見的需求,其中一項常見的任務是統計單詞頻率。透過統計單詞頻率可以了解一段文字中哪些單詞出現次數較高,進而獲得有關該段文字的更多資訊。

在 JavaScript 中,可以使用字典 (Object) 來統計單詞出現次數。在本文將會介紹如何使用 JavaScript 來統計單詞頻率。

正文 - Main text

接下來將會介紹兩種方式關於如何使用 JavaScript 來統計單詞頻率。

  • 使用句子輸入統計單詞頻率
  • 使用單個字詞的陣列計算頻率
使用句子輸入統計單詞頻率

範例: (輸出可以至 CodePen 內的 console 查看輸出結果)

countNum 函數第一個步驟是利用正則表達式,去除 sentence 中的標點符號。cleanedSentence 變數存儲打理過的句子。接著使用 split()cleanedSentence 拆分為單詞陣列,並且將所有單詞轉化為小寫字母。

接下來,建立一個空字典 wordCount,用於儲存每個單詞及其出現的次數。使用 forEach() 迴圈遍歷單詞陣列,如果 wordwordCount 中已經存在,則將其對應值加 1,否則在 wordCount 中新增一個新鍵值對,將其值設置為 1

最後,回傳 wordCount 這個儲存單詞與出現次數的字典物件。可以將 sentence 字串作為參數傳入 countNum(),並將返回的 wordCount 儲存在變數中,最後遍歷這個字典物件,並顯示每個單詞及其出現次數。

使用單個字詞的陣列計算頻率

範例: (輸出可以至 CodePen 內的 console 查看輸出結果)

函數開頭會建立一個空物件 wordCount,用來儲存每個單詞出現的次數。

接下來是 sentenceforEach 迴圈,遍歷每個單詞 word,並將其轉為小寫的 lowercaseWord。如果 lowercaseWordwordCount 中已經存在,就將其對應的值加 1;否則就在 wordCount 中建立一個新的屬性,初始值為 1

最後,再開遍歷逐一輸出 wordCount 中每個單詞及其出現次數。

後記 - Epilogue

因為部落格 Tag 分類有使用到~ 填一下之前的學習坑,有機會在補上使用 reduce() 來統計單詞頻率的方法。

使用 JavaScript 統計單詞頻率

https:///blog/56

作者

Kama

Read more from 程式
lightbox-image
Toggle Button - Red Pandas Icons by svgrepo.com

Copyrights © 2023 Kama, All Rights Reserved.