Как удалить дубликаты из неупорядоченного объекта Immutable.List()?

Как удалить дубликаты из неупорядоченного объекта Immutable.List()? (без использования toJS() или toArray())

например

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

Ответы

Ответ 1

Вы можете преобразовать его в Set. Набор - это список с уникальными значениями.

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

Ответ 2

Если у вас более сложный тип, вы также можете использовать groupBy для предоставления собственного селектора для сравнения. Следующие будут удалять дубликаты в свойстве .name:

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