1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-04 12:52:28 +08:00

refactor slice.Unique() (#215)

This commit is contained in:
Yang Li
2024-05-09 10:43:59 +08:00
committed by GitHub
parent de9ee08be4
commit 53fa210f09

View File

@@ -772,21 +772,14 @@ func UpdateAt[T any](slice []T, index int, value T) []T {
// Play: https://go.dev/play/p/AXw0R3ZTE6a
func Unique[T comparable](slice []T) []T {
result := []T{}
for i := 0; i < len(slice); i++ {
v := slice[i]
skip := true
for j := range result {
if v == result[j] {
skip = false
break
}
}
if skip {
result = append(result, v)
exists := map[T]bool{}
for _, t := range slice {
if exists[t] {
continue
}
exists[t] = true
result = append(result, t)
}
return result
}