發表文章

目前顯示的是有「Javascript」標籤的文章

Javascript 字頻計算,Github wordfrequency 專案

近期將自己工作,用來計算字詞計算的工具重新改寫,轉換為 module 的形式,放到 github 的 wordfrequency 專案 。 可以計算 一個詞或關鍵字的次數,也可以計算兩個詞共同的次數,可能的用途如下: 單詞頻計算,功能為:Tag Cloud、重要性 雙詞頻計算,功能為:計算兩個詞間的關係,如 Social Network Analysis Plot 如何使用 Module var wf=require('./WordFreq') module 內的方法函數 dataToArrObj: 資料整理,將用 tab 分隔的資料轉換為,第一欄為 name 的索引。 可做為類似 Excel vlookup 的檢索匹配用 ["aaa\tbbb\tccc\tddd"]=>[{name="aaa",value="bbb\tccc\tddd"}] getkeyword: 參考 dataToArrObj 的 name 欄位,對應出 Value 。 輸入為 ["aaa","bbb","ccc"] colsTocol: 將讀入的多欄料,轉換為單欄的資料,類似正規化的過程。 例:['abc\tabc\tabc\t','cde\tcde\tcdt']=>[abc,abc,abc,cde,cde,cde] Counting: 計算矩陣內的字詞出現次數,例 ['a','a','b'] = >[{name:'a',value=2},{name:'b',value=1}] Arraytwkeyword: 將 ["aaa","bbb","ccc", "ddd"] 轉換為 ["aaa, bbb", "aaa, ccc", "aaa, ddd", "bbb, ccc", "bbb, ddd", "ccc, ddd"] wordRel...

Javascript Array filter method 的使用心得與範例

這是一篇介紹 Array filter method 的實作心得,說明我自己理解 filter() 方法的過程。我不是程式高手,以下的文章只是用以提高 filter() 方法的理解度,讓我自己更容易將 filter() 活用於平常資料過濾的應用。 依據 W3School 的 Javascript 的教學 , Array filter() 方法的定義為使用方法為: The filter() method creates an array filled with all array elements that pass a test (provided as a function). filter() 的方法會創造一矩陣,矩陣為通過測試的元素 但是,我覺得 filter() 更好的說明應該如下: filter () 方法會依據 傳回 true 值 ,決定最後的 新矩陣元素 。判斷的準則是 return true ,就會保留這一個元素,將元素加入新矩陣,類似  array.push return false  或  不傳回值 ,就不要這一個元素 即使,W3School 有提供範例,透過 W3School 提供的範例,難以活用 filter() 並發擇它應有的作用。 var ages = [32, 33, 16, 40]; function checkAdult(age) { return age >= 18; } console.log(age.filter(checkAdulte)) // 輸出為 [32, 33, 40] 上面提供了一個示例,但是真正在處理資料的時候,資料形式往往不會這麼簡單。舉個例子來說, const students=[ {Degree:4,gender:"男",height:"140"}, {Degree:9,gender:"女",height:"163"}, {Degree:11,gender:"女",height:"163"}, {Degree:11,gender:"男",height:"173"}, {Degree:5,gender:"女",...