slicejuice

package
v1.19.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 27, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Description: This package contains utility functions for working with slices.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckDuplicateValues added in v1.13.0

func CheckDuplicateValues[T comparable](slices ...[]T) error

CheckDuplicateValues checks for duplicates across multiple slices of type T. Returns an error if at least one value is duplicated across a minimum of two slices or in the same slice.

func ContainsAny added in v1.11.12

func ContainsAny(slice interface{}, element interface{}) (bool, error)

ContainsAny checks if an element is present in the given slice.

This method uses reflection to work with slices of any type.

It has a time complexity of O(n), where n is the length of the slice.

func ContainsObjectIDMap added in v1.11.13

func ContainsObjectIDMap(slice []primitive.ObjectID, element primitive.ObjectID) bool

ContainsObjectIDMap checks if a slice contains a given element using a map for faster lookups.

This method has a time complexity of O(n) for creating the map, and O(1) for the lookup.

However, it has a space complexity of O(n), where n is the length of the slice.

It is suitable for large slices or when the slice is expected to contain the element.

func ContainsStringLinear

func ContainsStringLinear(slice []string, element string) bool

ContainsStringLinear checks if a slice contains a given element using a linear search.

This method has a time complexity of O(n), where n is the length of the slice.

It is suitable for small slices or when the slice is not expected to contain the element.

func ContainsStringMap

func ContainsStringMap(slice []string, element string) bool

ContainsStringMap checks if a slice contains a given element using a map for faster lookups.

This method has a time complexity of O(n) for creating the map, and O(1) for the lookup.

However, it has a space complexity of O(n), where n is the length of the slice.

It is suitable for large slices or when the slice is expected to contain the element.

func RemoveDuplicates added in v1.13.0

func RemoveDuplicates[T comparable](slice []T) []T

RemoveDuplicates removes duplicates from a slice of any type using generics.

func RemoveSliceElements added in v1.13.10

func RemoveSliceElements[T comparable](slice1, slice2 []T) []T

RemoveSliceElements removes elements of the second slice from the first slice.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL