diff --git a/filter.go b/filter.go index b1f6319..7e78e73 100644 --- a/filter.go +++ b/filter.go @@ -154,7 +154,7 @@ func winnowNodes(sel *Selection, nodes []*html.Node, keep bool) []*html.Node { return result } - set := make(map[*html.Node]bool) + set := make(map[*html.Node]bool, len(nodes)) for _, n := range nodes { set[n] = true } diff --git a/traversal.go b/traversal.go index 18b3e9e..c495eea 100644 --- a/traversal.go +++ b/traversal.go @@ -149,7 +149,7 @@ func (s *Selection) ClosestMatcher(m Matcher) *Selection { // ClosestNodes gets the first element that matches one of the nodes by testing the // element itself and traversing up through its ancestors in the DOM tree. func (s *Selection) ClosestNodes(nodes ...*html.Node) *Selection { - set := make(map[*html.Node]bool) + set := make(map[*html.Node]bool, len(nodes)) for _, n := range nodes { set[n] = true } @@ -696,7 +696,7 @@ func mapNodes(nodes []*html.Node, f func(int, *html.Node) []*html.Node) (result return f(0, nodes[0]) } - set := make(map[*html.Node]bool) + set := make(map[*html.Node]bool, len(nodes)) for i, n := range nodes { if vals := f(i, n); len(vals) > 0 { result = appendWithoutDuplicates(result, vals, set)