Skip to content

Commit

Permalink
Pre-allocate slice in generic Map function
Browse files Browse the repository at this point in the history
  • Loading branch information
jwilsson committed Feb 28, 2024
1 parent 4cbe087 commit ce7330a
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion iteration.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,10 @@ func (s *Selection) Map(f func(int, *Selection) string) (result []string) {
// Map is the generic version of Selection.Map, allowing any type to be
// returned.
func Map[E any](s *Selection, f func(int, *Selection) E) (result []E) {
result = make([]E, len(s.Nodes))

for i, n := range s.Nodes {
result = append(result, f(i, newSingleSelection(n, s.document)))
result[i] = f(i, newSingleSelection(n, s.document))
}

return result
Expand Down

0 comments on commit ce7330a

Please # to comment.