From 70106733d9f496605d27bc86c5fcbe8e8be591e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Schw=C3=B6rer?= Date: Sat, 18 May 2024 23:38:47 +0200 Subject: [PATCH] v0.0.456 --- goextVersion.go | 4 ++-- langext/array.go | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/goextVersion.go b/goextVersion.go index 0816697..d3baf79 100644 --- a/goextVersion.go +++ b/goextVersion.go @@ -1,5 +1,5 @@ package goext -const GoextVersion = "0.0.455" +const GoextVersion = "0.0.456" -const GoextVersionTimestamp = "2024-05-16T15:38:42+0200" +const GoextVersionTimestamp = "2024-05-18T23:38:47+0200" diff --git a/langext/array.go b/langext/array.go index 4a63001..8963655 100644 --- a/langext/array.go +++ b/langext/array.go @@ -59,6 +59,18 @@ func ArrUnique[T comparable](array []T) []T { return result } +func ArrUniqueStable[T comparable](array []T) []T { + hist := make(map[T]bool, len(array)) + result := make([]T, 0, len(array)) + for _, v := range array { + if _, ok := hist[v]; !ok { + hist[v] = true + result = append(result, v) + } + } + return result +} + func ArrEqualsExact[T comparable](arr1 []T, arr2 []T) bool { if len(arr1) != len(arr2) { return false