hyb
2025-05-20 e8003b5c66494c398fa8b716e0872771e2ea4af8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
if (!window.dicts) {
    window.dicts = {}
}
 
function Segment() {
    //初始化词库
    var mappers = {}
 
    for (key in dicts) {
        var array = dicts[key];
        array.map((value, index) => {
            mappers[value] = key;
        });
    }
    this.getMappers = function () {
        return mappers;
    }
    this.cut = function (sentence) {
        var start = 0, end = sentence.length - 1, result = [];
        while (start != end) {
            var str = [];
            for (var i = start; i <= end; i++) {
                var s = sentence.substring(i, i + 1);
 
                str.push(s);
                // 如果在字典中,则添加到分词结果集
                if (str.join('') in mappers) {
                    result.push(str.join(''));
                }
            }
 
            start++;
        }
 
        return result;
    }
}
 
var segment = new Segment();
 
function getIcon(name, icon) {
    if (!name) {
        return;
    }
    var value = 'far fa-file';
    if (icon) {
        //有默认图标的
        if (icon != value) {
            return icon;
        }
    }
 
    var results = segment.cut(name);
    if (results.length != 0) {
        for (var i = 0; i < results.length; i++) {
            var map = segment.getMappers()
            var temp = map[results[i]];
            if (temp) {
                value = temp;
                break;
            }
        }
    }
    return value;
}