♻️ 从切片中删除重复项时保留顺序

This commit is contained in:
Liang Ding 2022-06-13 20:57:56 +08:00
parent 5c0525c359
commit 39d0a9b08f
No known key found for this signature in database
GPG key ID: 136F30F901A2231D

View file

@ -38,13 +38,12 @@ func ExcludeElem(slice, excludes []string) (ret []string) {
}
func RemoveDuplicatedElem(slice []string) (ret []string) {
m := map[string]bool{}
for _, str := range slice {
m[str] = true
}
ret = []string{}
for str, _ := range m {
ret = append(ret, str)
allKeys := make(map[string]bool)
for _, item := range slice {
if _, value := allKeys[item]; !value {
allKeys[item] = true
ret = append(ret, item)
}
}
return
}