Skip to content

Commit 2a3bcbb

Browse files
committed
add func to remove duplicates on []string
1 parent a0a12b7 commit 2a3bcbb

File tree

1 file changed

+25
-13
lines changed

1 file changed

+25
-13
lines changed

controllers/controller.go

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -107,16 +107,6 @@ func SearchSimilarNames(c *gin.Context) {
107107
}
108108
}
109109
}
110-
111-
if len(similarNames) == 0 {
112-
similarNames = append(similarNames, models.NameVar{Name: n.Name, Levenshtein: smlt})
113-
varWords := strings.Split(n.NameVariations, "|")
114-
for _, vw := range varWords {
115-
if vw != "" {
116-
similarNames = append(similarNames, models.NameVar{Name: vw, Levenshtein: smlt})
117-
}
118-
}
119-
}
120110
}
121111
}
122112

@@ -151,11 +141,33 @@ func orderByLevenshtein(arr []models.NameVar) []string {
151141

152142
var retArry []string
153143
for _, lv := range sortedArr {
154-
if lv.Levenshtein != float32(0) {
155-
retArry = append(retArry, lv.Name)
144+
retArry = append(retArry, lv.Name)
145+
}
146+
147+
return removeDuplicates(retArry)
148+
149+
}
150+
151+
//removeDuplicates remove duplicates of []string
152+
func removeDuplicates(arr []string) []string {
153+
var cleanArr []string
154+
155+
for _, a := range arr {
156+
if !contains(cleanArr, a) {
157+
cleanArr = append(cleanArr, a)
156158
}
159+
}
160+
161+
return cleanArr
162+
}
157163

164+
//contains verifies if []string already has a specific string
165+
func contains(s []string, str string) bool {
166+
for _, v := range s {
167+
if v == str {
168+
return true
169+
}
158170
}
159171

160-
return retArry
172+
return false
161173
}

0 commit comments

Comments
 (0)