介紹一款可以玩成語接龍的js庫
1. 介紹
cnchar是一款功能全面、多端支持的漢字拼音筆畫 js 庫
在版本2.2.0,cnchar引入了成語功能,cnchar幾乎涵蓋了與漢字有關的方方面面,拼音、筆畫、筆順、多音字詞…
以下是詳細功能描述
- 獲取 漢字拼音 ,支持首字母、大小寫、數組分割、備選 多音字 等功能
- 支持 多音詞
- 支持 拼音音調
- 獲取漢字 筆畫數 、支持數組分割
- 獲取漢字 筆畫順序 、筆畫詳細名稱
- 支持可視化 繪製漢字筆畫 、多種繪製模式可選
- 支持 簡體字 、 繁體字 、 火星文 互轉
- 支持 查找 某拼音的所有 漢字 ,繁體字,多音字
- 支持 查找 指定筆畫數的所有 漢字 ,繁體字
- 支持 根據筆畫順序查詢 漢字
- 支持 查詢拼音的信息,包含聲母、韻母、音調、音調位置的等
- 支持 繁體字 拼音、筆畫數及以上所有功能,實現和簡體字一樣的功能
- 支持 成語 查詢功能,可以按照漢字、拼音(聲調)、筆畫數查詢成語
- 支持 歇後語 查詢功能,支持模糊查詢
- 提供漢字工具方法,方便開發者更便捷高效地 操作拼音和漢字
- 體積小,min 版本僅 46 kb,zip 版本 34 kb (含有大量漢字拼音字典)
- 多端可用,可用於 瀏覽器、nodejs、小程序/小遊戲、ReactNative/Weex/Uniapp/Electron、webpack…,支持所有 js 能運行的環境
- typescript支持,支持在typescript中調用
- 豐富的配置,按功能拆分成7個庫按需取用
2. 進入正題:成語接龍
cnchar可以按照 特定漢字、拼音、帶音調拼音、筆畫數 進行成語查詢,
2.1. 漢字查詢成語
如果只是按照 特定漢字 查詢,則只需要引入 cnchar-idiom
庫即可(官方文檔),如下:
2.1.1. cdn引入及使用
<script src="https://cdn.jsdelivr.net/npm/cnchar-idiom/cnchar.idiom.min.js"></script>
<script>
CncharIdiom(['五']); // 查詢以'五'字開頭的成語
CncharIdiom(['五', '', '十', '']); // 查詢符合 '五x十x' 的成語,其他模板也可以類推,比如 ['一', '年', '', '']
// 數組末尾的空字符串可以省略 ['一', '年', '', ''] 等價於 ['一', '年']
</script>
2.1.2. npm 方式引入
支持nodejs和其他各種js運行環境
先安裝
npm i cnchar-idiom
import CncharIdiom from 'cnchar-idiom';
// 調用與cdn方式一致
CncharIdiom(['五']);
CncharIdiom(['五', '', '十', '']);
2.2. 漢字查詢成語
如果只是需要按照拼音或者筆畫數查詢成語,則需要依賴cnchar主庫的拼音和筆畫數能力
2.2.1. cdn引入及使用
<script src="https://cdn.jsdelivr.net/npm/cnchar/cnchar.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/cnchar-idiom/cnchar.idiom.min.js"></script>
<script>
cnchar.idiom('wu', 'spell');// 查詢以拼音wu開頭的成語,需要帶上‘spell’參數
// 另外由於對字典進行獲取拼音耗時很長,所以cnchar僅提供成語首個漢字的拼音查詢,並優化的了算法,使可以在毫秒級獲取運算結果
cnchar.idiom('wu3', 'spell', 'tone');// 支持音調, 同時支持 wu3 和 wǔ 兩種寫法
cnchar.idiom([4, 6, 2, 0], 'stroke'); // 筆畫數查詢, 0 表示匹配任意漢字
</script>
2.2.1. npm引入及使用
安裝:
npm i cnchar cnchar-idiom
import cnchar from 'cnchar';
import idiom from 'cnchar-idiom';
cnchar.use(idiom); // 瀏覽器環境下 use 並不是必須的
//使用於cdn模式一致
cnchar.idiom('wu', 'spell');
cnchar.idiom('wu3', 'spell', 'tone');
cnchar.idiom([4, 6, 2, 0], 'stroke');
3. 歇後語查詢
歇後語不是本文重點,請參考官方文檔