返回 social-analyzer
name-analysis.js
根目录 / modules / name-analysis.js
1 import helper from './helper.js'
2 import stringSimilarity from 'string-similarity'
3
4 async function find_origins (req) {
5 const found = []
6 for (const key in helper.parsed_names_origins) {
7 for (const name in helper.parsed_names_origins[key].boy) {
8 if (req.body.string.includes(helper.parsed_names_origins[key].boy[name])) {
9 found.push({
10 name: helper.parsed_names_origins[key].boy[name],
11 origin: key,
12 gender: 'boy',
13 matched: helper.parsed_names_origins[key].boy[name],
14 similar: ''
15 })
16 } else {
17 const similarity = stringSimilarity.compareTwoStrings(req.body.string, helper.parsed_names_origins[key].boy[name])
18 if (similarity > 0.7) {
19 found.push({
20 name: req.body.string,
21 origin: key,
22 gender: 'boy',
23 matched: '',
24 similar: helper.parsed_names_origins[key].boy[name]
25 })
26 }
27 }
28 }
29 for (const name in helper.parsed_names_origins[key].girl) {
30 if (req.body.string.includes(helper.parsed_names_origins[key].girl[name])) {
31 found.push({
32 name: helper.parsed_names_origins[key].girl[name],
33 origin: key,
34 gender: 'girl',
35 matched: helper.parsed_names_origins[key].girl[name],
36 similar: ''
37 })
38 } else {
39 const similarity = stringSimilarity.compareTwoStrings(req.body.string, helper.parsed_names_origins[key].girl[name])
40 if (similarity > 0.7) {
41 found.push({
42 name: req.body.string,
43 origin: key,
44 gender: 'girl',
45 matched: '',
46 similar: helper.parsed_names_origins[key].girl[name]
47 })
48 }
49 }
50 }
51 for (const name in helper.parsed_names_origins[key].uni) {
52 if (req.body.string.includes(helper.parsed_names_origins[key].uni[name])) {
53 found.push({
54 name: helper.parsed_names_origins[key].uni[name],
55 origin: key,
56 gender: 'uni',
57 matched: helper.parsed_names_origins[key].uni[name],
58 similar: ''
59 })
60 } else {
61 const similarity = stringSimilarity.compareTwoStrings(req.body.string, helper.parsed_names_origins[key].uni[name])
62 if (similarity > 0.7) {
63 found.push({
64 name: req.body.string,
65 origin: key,
66 gender: 'uni',
67 matched: '',
68 similar: helper.parsed_names_origins[key].uni[name]
69 })
70 }
71 }
72 }
73 }
74 return found
75 }
76
77 export default{
78 find_origins
79 }
80
80 lines JAVASCRIPT