1
0
Fork 0

added an cleanup to remove items

Dieser Commit ist enthalten in:
Sebastian Tobie 2023-03-28 23:40:34 +02:00
Ursprung 9065f21af7
Commit 1645757b9e
1 geänderte Dateien mit 11 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -98,3 +98,14 @@ func (wr *WeightRandom[T]) Get() (t T) {
}
return
}
// Cleanup deletes the items where the the function returns true
func (wr *WeightRandom[T]) Cleanup(f func(T) bool) {
nl := make(wflist[T], 0, wr.data.Len())
for _, item := range wr.data {
if !f(item.value) {
nl = append(nl, item)
}
}
wr.data = nl
}