如何从无序的 Immutable.List() 中删除重复项?

How to remove duplicates from an unordered Immutable.List()?

如何从无序的 Immutable.List() 中删除重复项? (不使用 toJS() 或 toArray())

例如

Immutable.List.of("green", "blue","green","black", "blue")

您可以将其转换为集合。集合是具有唯一值的列表。

Immutable.List.of("green", "blue","green","black", "blue").toSet()

如果您再次需要它作为列表,只需将其转换回来:

Immutable.List.of("green", "blue","green","black", "blue").toSet().toList()

更新:

获得唯一值的可能性更小:

Immutable.List.of("green", "blue","green","black", "blue").distinct

如果你有更复杂的类型,你也可以使用 groupBy 来提供你自己的选择器来进行比较。以下将删除 属性 .name 上的重复项:

var distinctColors = duplicateColors.groupBy(x => x.name).map(x => x.first()).toList();