Enumerable Distinct - FireDragon91245/Lua-Linq GitHub Wiki

enumerable:distinct

Returns a new enumerable that removes duplicates. You can compare items directly, pick a key to compare by, or supply a custom comparer.

Overloads

enumerable<T>   :distinct():                                                  enumerable<T>
enumerable<K, V>:distinct():                                                  enumerable<K, V>

enumerable<T>   :distinct(comparer: equality_comparer):                       enumerable<T>
enumerable<K, V>:distinct(comparer: equality_comparer):                       enumerable<K, V>

enumerable<T>   :distinct(keySelector: fun(item: T): KD):                     enumerable<T>
enumerable<K, V>:distinct(keySelector: fun(key: K, value: V): KD):            enumerable<K, V>

enumerable<T>   :distinct(keySelector: fun(item: T): KD, comparer: equality_comparer): enumerable<T>
enumerable<K, V>:distinct(keySelector: fun(key: K, value: V): KD, comparer: equality_comparer): enumerable<K, V>

enumerable<T>   :distinct(keySelector: string):                               enumerable<T>
enumerable<K, V>:distinct(keySelector: string):                               enumerable<K, V>

enumerable<T>   :distinct(keySelector: string, comparer: equality_comparer):  enumerable<T>
enumerable<K, V>:distinct(keySelector: string, comparer: equality_comparer):  enumerable<K, V>
  • keySelector: string acts as a key/property selector when it does not contain =>. If it contains => it is treated as a lambda expression.

Examples

local result = linq.list(1, 1, 2, 3, 3):distinct():spread()
local unique = linq.list({ id = 1 }, { id = 1 }, { id = 2 })
    :distinct("id")
    :tolist()
⚠️ **GitHub.com Fallback** ⚠️