Spec-Zone.ru › Immutable.js

Множество

Коллекция уникальных значений с O(log32 N) добавленными и имеющимися.

type Set<T> extends Collection.Set<T>

Обсуждение

При итерировании множества записи будут представлять собой пары (значение, значение). Порядок итерирования множества не определен, но является стабильным. Несколько итераций одного и того же множества будут итерироваться в одном и том же порядке.

Значения множества, как и ключи карты, могут быть любого типа. Равенство определяется с помощью Immutable.is, что позволяет множествам уникально включать другие неизменяемые коллекции, пользовательские типы значений и NaN.

Создание

Множество()

Создайте новое неизменяемое множество, содержащее значения предоставленной коллекции.

Set<T>(collection?: Iterable<T> | ArrayLike<T>): Set<T>

Обсуждение

Примечание: Set — это функция-фабрика, а не класс, и она не использует ключевое слово new при создании.

Статические методы

Set.isSet()

Set.isSet(maybeSet: unknown): boolean

Set.of()

Set.of<T>(...values: Array<T>): Set<T>

Set.fromKeys()

Set.fromKeys<T>(iter: Collection<T, unknown>): Set<T>
Set.fromKeys(obj: {[key: string]: unknown}): Set<string>

Set.intersect()

Set.intersect<T>(sets: Iterable<Iterable<T>>): Set<T>

Set.union()

Set.union<T>(sets: Iterable<Iterable<T>>): Set<T>

Члены

размер

Количество элементов в этом множестве.

size: number

Постоянные изменения

добавить()

Возвращает новое множество, которое также включает это значение.

add(value: T): this

Обсуждение

Примечание: add может использоваться в withMutations.

удалить()

Возвращает новое множество, из которого исключено это значение.

delete(value: T): this

Псевдоним

remove()

Обсуждение

Примечание: delete может использоваться в withMutations.

Примечание: delete нельзя безопасно использовать в IE8, используйте remove при поддержке старых браузеров.

очистить()

Возвращает новое множество, не содержащее значений.

clear(): this

Обсуждение

Примечание: clear может использоваться в withMutations.

объединение()

Возвращает множество, включающее любые значения из collections, которые еще не существуют в этом множестве.

union<C>(...collections: Array<Iterable<C>>): Set<T | C>

Псевдоним

merge()

Псевдоним

concat()

Обсуждение

Примечание: union может использоваться в withMutations.

пересечение()

Возвращает множество, из которого удалены любые значения, не содержащиеся также в collections.

intersect(...collections: Array<Iterable<T>>): this

Обсуждение

Примечание: intersect может использоваться в withMutations.

вычесть()

Возвращает множество, из которого исключены любые значения, содержащиеся в collections.

subtract(...collections: Array<Iterable<T>>): this

Обсуждение

const { OrderedSet } = require('immutable')
OrderedSet([ 1, 2, 3 ]).subtract([1, 3])
// OrderedSet [2]run it

Примечание: subtract может использоваться в withMutations.

обновить()

Это может быть очень полезно как способ «цепления» обычной функции в последовательность методов. RxJS называет это «let», а lodash — «thru».

update<R>(updater: (value: this) => R): R

Унаследовано от

Collection#update()

Обсуждение

Например, чтобы просуммировать Seq после отображения и фильтрации:

const { Seq } = require('immutable')

function sum(collection) {
  return collection.reduce((sum, x) => sum + x, 0)
}
Seq([ 1, 2, 3 ])
  .map(x => x + 1)
  .filter(x => x % 2 === 0)
  .update(sum)
// 6run it

Временные изменения

withMutations()

Примечание: не все методы могут быть использованы в изменяемой коллекции или в withMutations! Проверьте документацию для каждого метода, чтобы узнать, упоминается ли в ней возможность использования в withMutations.

withMutations(mutator: (mutable: this) => unknown): this

см.

Map#withMutations

asMutable()

Примечание: не все методы могут быть использованы в изменяемой коллекции или в withMutations! Проверьте документацию для каждого метода, чтобы узнать, упоминается ли в ней возможность использования в withMutations.

asMutable(): this

см.

Map#asMutable

wasAltered()

wasAltered(): boolean

см.

Map#wasAltered

asImmutable()

asImmutable(): this

см.

Map#asImmutable

Алгоритмы последовательностей

map()

Возвращает новое множество со значениями, прошедшими через функцию mapper.

map<M>(mapper: (value: T, key: T, iter: this) => M, context?: unknown): Set<M>

Переопределяет

Collection.Set#map()

Пример

Set([1,2]).map(x => 10 * x)
// Set [10,20]

flatMap()

Выполняет плоское отображение множества, возвращая новое множество.

flatMap<M>(mapper: (value: T, key: T, iter: this) => Iterable<M>,context?: unknown): Set<M>

Переопределяет

Collection.Set#flatMap()

Обсуждение

Аналогично set.map(...).flatten(true).

фильтр()

filter<F>(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown): Set<F>
filter(predicate: (value: T, key: T, iter: this) => unknown,context?: unknown): this

Переопределяет

Collection.Set#filter()

разделение()

partition<F, C>(predicate: (this: C, value: T, key: T, iter: this) => boolean,context?: C): [Set<T>, Set<F>]
partition<C>(predicate: (this: C, value: T, key: T, iter: this) => unknown,context?: C): [this, this]

Переопределяет

Collection.Set#partition()

concat()

Возвращает новую коллекцию с другими коллекциями, конкатенированными с этой.

concat<U>(...collections: Array<Iterable<U>>): Collection.Set<T | U>

Унаследовано от

Collection.Set#concat()

[Symbol.iterator]()

[Symbol.iterator](): IterableIterator<T>

Унаследовано от

Collection.Set#[Symbol.iterator]()

filterNot()

Возвращает новую коллекцию того же типа со входами, для которых функция predicate возвращает false.

filterNot(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown): this

Унаследовано от

Collection#filterNot()

Обсуждение

const { Map } = require('immutable')
Map({ a: 1, b: 2, c: 3, d: 4}).filterNot(x => x % 2 === 0)
// Map { "a": 1, "c": 3 }run it

Примечание: filterNot() всегда возвращает новую копию, даже если это не приводит к отфильтрованию каких-либо значений.

обратный порядок()

Возвращает новую коллекцию того же типа в обратном порядке.

reverse(): this

Унаследовано от

Collection#reverse()

сортировать()

Возвращает новую коллекцию того же типа, содержащую те же записи, стабильно отсортированные с помощью comparator.

sort(comparator?: (valueA: T, valueB: T) => number): this

Унаследовано от

Collection#sort()

Обсуждение

Если comparator не указан, по умолчанию используется компаратор, использующий < и >.

comparator(valueA, valueB):

  • Возвращает 0 если элементы не должны меняться местами.
  • Возвращает -1 (или любое отрицательное число), если valueA предшествует valueB
  • Возвращает 1 (или любое положительное число), если valueA следует за valueB
  • Является чистым, т.е. должен всегда возвращать одно и то же значение для одной и той же пары значений.

При сортировке коллекций, у которых нет определенного порядка, будут возвращены их упорядоченные эквиваленты. Например, map.sort() возвращает OrderedMap.

const { Map } = require('immutable')
Map({ "c": 3, "a": 1, "b": 2 }).sort((a, b) => {
  if (a < b) { return -1; }
  if (a > b) { return 1; }
  if (a === b) { return 0; }
});
// OrderedMap { "a": 1, "b": 2, "c": 3 }run it

Примечание: sort() всегда возвращает новый экземпляр, даже если исходный уже был отсортирован.

Примечание: это всегда операция с немедленным выполнением.

sortBy()

Подобно sort, но также принимает comparatorValueMapper, что позволяет сортировать более сложными способами:

sortBy<C>(comparatorValueMapper: (value: T, key: T, iter: this) => C,comparator?: (valueA: C, valueB: C) => number): this

Унаследовано от

Collection#sortBy()

Обсуждение

const { Map } = require('immutable')
const beattles = Map({
  John: { name: "Lennon" },
  Paul: { name: "McCartney" },
  George: { name: "Harrison" },
  Ringo: { name: "Starr" },
});
beattles.sortBy(member => member.name);run it

Примечание: sortBy() всегда возвращает новый экземпляр, даже если исходный уже был отсортирован.

Примечание: это всегда операция с немедленным выполнением.

groupBy()

Возвращает Collection.Keyed Collection.Keyeds, сгруппированные по возвращаемому значению функции grouper.

groupBy<G>(grouper: (value: T, key: T, iter: this) => G,context?: unknown): Seq.Keyed<G, Collection<T, T>>

Унаследовано от

Collection#groupBy()

Обсуждение

Примечание: это всегда операция с немедленным выполнением.

const { List, Map } = require('immutable')
const listOfMaps = List([
  Map({ v: 0 }),
  Map({ v: 1 }),
  Map({ v: 1 }),
  Map({ v: 0 }),
  Map({ v: 2 })
])
const groupsOfMaps = listOfMaps.groupBy(x => x.get('v'))
// Map {
//   0: List [ Map{ "v": 0 }, Map { "v": 0 } ],
//   1: List [ Map{ "v": 1 }, Map { "v": 1 } ],
//   2: List [ Map{ "v": 2 } ],
// }run it

Преобразование в типы JavaScript

toJS()

Глубоко преобразует эту коллекцию множеств в эквивалентный массив JavaScript.

toJS(): Array<DeepCopy<T>>

Унаследовано от

Collection.Set#toJS()

toJSON()

Поверхностно преобразует эту коллекцию множеств в эквивалентный массив JavaScript.

toJSON(): Array<T>

Унаследовано от

Collection.Set#toJSON()

toArray()

Поверхностно преобразует эту коллекцию в массив.

toArray(): Array<T>

Унаследовано от

Collection.Set#toArray()

toObject()

Поверхностно преобразует эту коллекцию в объект.

toObject(): {[key: string]: T}

Унаследовано от

Collection#toObject()

Обсуждение

Преобразует ключи в строки.

Преобразование в Seq

toSeq()

Возвращает Seq.Set.

toSeq(): Seq.Set<T>

Унаследовано от

Collection.Set#toSeq()

toKeyedSeq()

Возвращает Seq.Keyed из этой коллекции, где индексы рассматриваются как ключи.

toKeyedSeq(): Seq.Keyed<T, T>

Унаследовано от

Collection#toKeyedSeq()

Обсуждение

Это полезно, если вы хотите работать с Collection.Indexed и сохранить пары [индекс, значение].

Возвращаемая Seq будет иметь такой же порядок итерации, как и эта коллекция.

const { Seq } = require('immutable')
const indexedSeq = Seq([ 'A', 'B', 'C' ])
// Seq [ "A", "B", "C" ]
indexedSeq.filter(v => v === 'B')
// Seq [ "B" ]
const keyedSeq = indexedSeq.toKeyedSeq()
// Seq { 0: "A", 1: "B", 2: "C" }
keyedSeq.filter(v => v === 'B')
// Seq { 1: "B" }run it
END_OF_DOCUMENT_MARKER

toIndexedSeq()

Возвращает Seq.Indexed значений этого объекта Collection, отбрасывая ключи.

toIndexedSeq(): Seq.Indexed<T>

Унаследовано от

Collection#toIndexedSeq()

toSetSeq()

Возвращает Seq.Set значений этого объекта Collection, отбрасывая ключи.

toSetSeq(): Seq.Set<T>

Унаследовано от

Collection#toSetSeq()

Равенство значений

equals()

True, если этот и другой объект Collection имеют равенство значений, как определено Immutable.is().

equals(other: unknown): boolean

Унаследовано от

Collection#equals()

Обсуждение

Примечание: Это эквивалентно Immutable.is(this, other), но предоставлено для поддержки цепочек выражений.

hashCode()

Вычисляет и возвращает хэш-идентификатор для этого объекта Collection.

hashCode(): number

Унаследовано от

Collection#hashCode()

Обсуждение

Хэш-значение объекта Collection используется для определения потенциального равенства и используется при добавлении объекта в Set или в качестве ключа в Map, что позволяет выполнять поиск по другому экземпляру.

const a = List([ 1, 2, 3 ]);
const b = List([ 1, 2, 3 ]);
assert.notStrictEqual(a, b); // different instances
const set = Set([ a ]);
assert.equal(set.has(b), true);run it

Если у двух значений одинаковый хэш, они не гарантированно равны. Если у двух значений разные хэши, они не могут быть равны.

Чтение значений

get()

get<NSV>(key: T, notSetValue: NSV): T | NSV
get(key: T): T | undefined

Унаследовано от

Collection#get()

has()

True, если ключ существует в этом Collection, используя Immutable.is для определения равенства.

has(key: T): boolean

Унаследовано от

Collection#has()

includes()

True, если значение существует в этом Collection, используя Immutable.is для определения равенства.

includes(value: T): boolean

Унаследовано от

Collection#includes()

Псевдоним

contains()

first()

Если Collection не пусто, возвращает первый элемент Collection. Если Collection пусто, возвращает значение по умолчанию, если оно предоставлено; в противном случае возвращает undefined.

first<NSV>(notSetValue?: NSV): T | NSV

Унаследовано от

Collection#first()

last()

Если Collection не пусто, возвращает последний элемент Collection. Если Collection пусто, возвращает значение по умолчанию, если оно предоставлено; в противном случае возвращает undefined.

last<NSV>(notSetValue?: NSV): T | NSV

Унаследовано от

Collection#last()

Чтение глубоких значений

getIn()

Возвращает значение, найденное по пути ключей или индексов вложенных объектов Collection.

getIn(searchKeyPath: Iterable<unknown>, notSetValue?: unknown): unknown

Унаследовано от

Collection#getIn()

Обсуждение

const { Map, List } = require('immutable')
const deepData = Map({ x: List([ Map({ y: 123 }) ]) });
deepData.getIn(['x', 0, 'y']) // 123run it

Простые JavaScript объекты или массивы могут быть вложены в Immutable.js Collection, и getIn() может получить доступ к этим значениям:

const { Map, List } = require('immutable')
const deepData = Map({ x: [ { y: 123 } ] });
deepData.getIn(['x', 0, 'y']) // 123run it

hasIn()

True, если результат следования по пути ключей или индексов во вложенных Collection приводит к набору значений.

hasIn(searchKeyPath: Iterable<unknown>): boolean

Унаследовано от

Collection#hasIn()

Преобразование в Collection

toMap()

Преобразует этот объект Collection в Map. Выбрасывает исключение, если ключи не являются хэшируемыми.

toMap(): Map<T, T>

Унаследовано от

Collection#toMap()

Обсуждение

Примечание: Это эквивалентно Map(this.toKeyedSeq()), но предоставлено для удобства и поддержки цепочек выражений.

toOrderedMap()

Преобразует этот объект Collection в Map, сохраняя порядок итерации.

toOrderedMap(): OrderedMap<T, T>

Унаследовано от

Collection#toOrderedMap()

Обсуждение

Примечание: Это эквивалентно OrderedMap(this.toKeyedSeq()), но предоставлено для удобства и поддержки цепочек выражений.

toSet()

Преобразует этот объект Collection в Set, отбрасывая ключи. Выбрасывает исключение, если значения не являются хэшируемыми.

toSet(): Set<T>

Унаследовано от

Collection#toSet()

Обсуждение

Примечание: Это эквивалентно Set(this), но предоставлено для поддержки цепочек выражений.

toOrderedSet()

Преобразует этот объект Collection в Set, сохраняя порядок итерации и отбрасывая ключи.

toOrderedSet(): OrderedSet<T>

Унаследовано от

Collection#toOrderedSet()

Обсуждение

Примечание: Это эквивалентно OrderedSet(this.valueSeq()), но предоставлено для удобства и поддержки цепочек выражений.

toList()

Преобразует этот объект Collection в List, отбрасывая ключи.

toList(): List<T>

Унаследовано от

Collection#toList()

Обсуждение

Это аналогично List(collection), но предоставлено для поддержки цепочек выражений. Однако, когда используется на Map или других коллекциях с ключами, collection.toList() отбрасывает ключи и создает список только значений, а List(collection) создаёт список кортежей пар "ключ-значение".

const { Map, List } = require('immutable')
var myMap = Map({ a: 'Apple', b: 'Banana' })
List(myMap) // List [ [ "a", "Apple" ], [ "b", "Banana" ] ]
myMap.toList() // List [ "Apple", "Banana" ]run it

toStack()

Преобразует этот объект Collection в Stack, отбрасывая ключи. Выбрасывает исключение, если значения не являются хэшируемыми.

toStack(): Stack<T>

Унаследовано от

Collection#toStack()

Обсуждение

Примечание: Это эквивалентно Stack(this), но предоставлено для поддержки цепочек выражений.

Итераторы

keys()

Итератор ключей этого объекта Collection.

keys(): IterableIterator<T>

Унаследовано от

Collection#keys()

Обсуждение

Примечание: это вернёт итератор ES6, который не поддерживает алгоритмы последовательностей Immutable.js. Используйте keySeq вместо этого, если это нужно.

values()

Итератор значений этого объекта Collection.

values(): IterableIterator<T>

Унаследовано от

Collection#values()

Обсуждение

Примечание: это вернёт итератор ES6, который не поддерживает алгоритмы последовательностей Immutable.js. Используйте valueSeq вместо этого, если это нужно.

entries()

Итератор пар "ключ-значение" этого объекта Collection в виде кортежей [ key, value ].

entries(): IterableIterator<[T, T]>

Унаследовано от

Collection#entries()

Обсуждение

Примечание: это вернёт итератор ES6, который не поддерживает алгоритмы последовательностей Immutable.js. Используйте entrySeq вместо этого, если это нужно.

Коллекции (Seq)

keySeq()

Возвращает новый Seq.Indexed ключей этого объекта Collection, отбрасывая значения.

keySeq(): Seq.Indexed<T>

Унаследовано от

Collection#keySeq()

valueSeq()

Возвращает новый Seq.Indexed значений этого объекта Collection, отбрасывая ключи.

valueSeq(): Seq.Indexed<T>

Унаследовано от

Collection#valueSeq()

entrySeq()

Возвращает новый Seq.Indexed кортежей [ключ, значение].

entrySeq(): Seq.Indexed<[T, T]>

Унаследовано от

Collection#entrySeq()

Побочные эффекты

forEach()

Функция sideEffect выполняется для каждой записи в объекте Collection.

forEach(sideEffect: (value: T, key: T, iter: this) => unknown,context?: unknown): number

Унаследовано от

Collection#forEach()

Обсуждение

В отличие от Array#forEach, если любая функция sideEffect вернёт false, итерация остановится. Возвращает количество обработанных записей (включая последнюю итерацию, вернувшую false).

Создание подмножеств

slice()

Возвращает новую Collection того же типа, представляющую часть этого объекта Collection от начала до конца (не включая конец).

slice(begin?: number, end?: number): this

Унаследовано от

Collection#slice()

Обсуждение

Если begin отрицательно, он отсчитывается от конца Collection. Например, slice(-2) возвращает Collection из последних двух записей. Если не указано, новая Collection начнётся с начала этого объекта Collection.

Если end отрицательно, он отсчитывается от конца Collection. Например, slice(0, -1) возвращает Collection, не включая последнюю запись. Если не указано, новая Collection будет содержать все записи до конца этого объекта Collection.

Если запрашиваемый срез эквивалентен текущей Collection, то будет возвращена сама Collection.

rest()

Возвращает новую Collection того же типа, содержащую все записи, кроме первой.

rest(): this

Унаследовано от

Collection#rest()

butLast()

Возвращает новую Collection того же типа, содержащую все записи, кроме последней.

butLast(): this

Унаследовано от

Collection#butLast()

skip()

Возвращает новую Collection того же типа, исключая первые amount записи из этого объекта Collection.

skip(amount: number): this

Унаследовано от

Collection#skip()

skipLast()

Возвращает новую Collection того же типа, исключая последние amount записи из этого объекта Collection.

skipLast(amount: number): this

Унаследовано от

Collection#skipLast()
END_OF_DOCUMENT_MARKER

skipWhile()

Возвращает новую коллекцию того же типа, включающую записи, начиная с той, для которой predicate впервые возвращает false.

skipWhile(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown): this

Унаследовано от

Collection#skipWhile()

Обсуждение

const { List } = require('immutable')
List([ 'dog', 'frog', 'cat', 'hat', 'god' ])
  .skipWhile(x => x.match(/g/))
// List [ "cat", "hat", "god" ]run it

skipUntil()

Возвращает новую коллекцию того же типа, включающую записи, начиная с той, для которой predicate впервые возвращает true.

skipUntil(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown): this

Унаследовано от

Collection#skipUntil()

Обсуждение

const { List } = require('immutable')
List([ 'dog', 'frog', 'cat', 'hat', 'god' ])
  .skipUntil(x => x.match(/hat/))
// List [ "hat", "god" ]run it

take()

Возвращает новую коллекцию того же типа, включающую первые amount записи из этой коллекции.

take(amount: number): this

Унаследовано от

Collection#take()

takeLast()

Возвращает новую коллекцию того же типа, включающую последние amount записи из этой коллекции.

takeLast(amount: number): this

Унаследовано от

Collection#takeLast()

takeWhile()

Возвращает новую коллекцию того же типа, включающую записи из этой коллекции, пока predicate возвращает true.

takeWhile(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown): this

Унаследовано от

Collection#takeWhile()

Обсуждение

const { List } = require('immutable')
List([ 'dog', 'frog', 'cat', 'hat', 'god' ])
  .takeWhile(x => x.match(/o/))
// List [ "dog", "frog" ]run it

takeUntil()

Возвращает новую коллекцию того же типа, включающую записи из этой коллекции, пока predicate возвращает false.

takeUntil(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown): this

Унаследовано от

Collection#takeUntil()

Обсуждение

const { List } = require('immutable')
List([ 'dog', 'frog', 'cat', 'hat', 'god' ])
  .takeUntil(x => x.match(/at/))
// List [ "dog", "frog" ]run it

Комбинация

flatten()

flatten(depth?: number): Collection<unknown, unknown>
flatten(shallow?: boolean): Collection<unknown, unknown>

Унаследовано от

Collection#flatten()

Сведение значения

reduce()

reduce<R>(reducer: (reduction: R, value: T, key: T, iter: this) => R,initialReduction: R,context?: unknown): R
reduce<R>(reducer: (reduction: T | R, value: T, key: T, iter: this) => R): R

Унаследовано от

Collection#reduce()

reduceRight()

reduceRight<R>(reducer: (reduction: R, value: T, key: T, iter: this) => R,initialReduction: R,context?: unknown): R
reduceRight<R>(reducer: (reduction: T | R, value: T, key: T, iter: this) => R): R

Унаследовано от

Collection#reduceRight()

every()

True, если predicate возвращает true для всех записей в коллекции.

every(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown): boolean

Унаследовано от

Collection#every()

some()

True, если predicate возвращает true для любой записи в коллекции.

some(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown): boolean

Унаследовано от

Collection#some()

join()

Объединяет значения в строку, вставляя разделитель между каждым. По умолчанию разделитель — ",".

join(separator?: string): string

Унаследовано от

Collection#join()

isEmpty()

Возвращает true, если эта коллекция не содержит значений.

isEmpty(): boolean

Унаследовано от

Collection#isEmpty()

Обсуждение

Для некоторых ленивых Seq, isEmpty может потребоваться выполнить итерацию для определения пустоты. Будет выполнена не более одной итерации.

count()

count(): number
count(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown): number

Унаследовано от

Collection#count()

countBy()

Возвращает Seq.Keyed подсчетов, сгруппированных по возвращаемому значению функции grouper.

countBy<G>(grouper: (value: T, key: T, iter: this) => G,context?: unknown): Map<G, number>

Унаследовано от

Collection#countBy()

Обсуждение

Примечание: это не ленивая операция.

Поиск значения

find()

Возвращает первое значение, для которого predicate возвращает true.

find(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown,notSetValue?: T): T | undefined

Унаследовано от

Collection#find()

findLast()

Возвращает последнее значение, для которого predicate возвращает true.

findLast(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown,notSetValue?: T): T | undefined

Унаследовано от

Collection#findLast()

Обсуждение

Примечание: predicate будет вызываться для каждой записи в обратном порядке.

findEntry()

Возвращает первую запись [ключ, значение], для которой predicate возвращает true.

findEntry(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown,notSetValue?: T): [T, T] | undefined

Унаследовано от

Collection#findEntry()

findLastEntry()

Возвращает последнюю запись [ключ, значение], для которой predicate возвращает true.

findLastEntry(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown,notSetValue?: T): [T, T] | undefined

Унаследовано от

Collection#findLastEntry()

Обсуждение

Примечание: predicate будет вызываться для каждой записи в обратном порядке.

findKey()

Возвращает ключ, для которого predicate возвращает true.

findKey(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown): T | undefined

Унаследовано от

Collection#findKey()

findLastKey()

Возвращает последний ключ, для которого predicate возвращает true.

findLastKey(predicate: (value: T, key: T, iter: this) => boolean,context?: unknown): T | undefined

Унаследовано от

Collection#findLastKey()

Обсуждение

Примечание: predicate будет вызываться для каждой записи в обратном порядке.

keyOf()

Возвращает ключ, связанный со значением поиска, или undefined.

keyOf(searchValue: T): T | undefined

Унаследовано от

Collection#keyOf()

lastKeyOf()

Возвращает последний ключ, связанный со значением поиска, или undefined.

lastKeyOf(searchValue: T): T | undefined

Унаследовано от

Collection#lastKeyOf()

max()

Возвращает максимальное значение в этой коллекции. Если некоторые значения сравнимы, будет возвращено первое из них.

max(comparator?: (valueA: T, valueB: T) => number): T | undefined

Унаследовано от

Collection#max()

Обсуждение

Функция comparator используется аналогично Collection#sort. Если она не указана, по умолчанию используется компаратор >.

Если два значения считаются эквивалентными, будет возвращено первое из них. В противном случае, max будет работать независимо от порядка ввода, при условии, что компаратор коммутативен. По умолчанию компаратор > коммутативен только при совпадении типов.

Если comparator возвращает 0 и одно из значений NaN, undefined или null, будет возвращено это значение.

maxBy()

Как max, но также принимает comparatorValueMapper, что позволяет сравнивать более сложными способами:

maxBy<C>(comparatorValueMapper: (value: T, key: T, iter: this) => C,comparator?: (valueA: C, valueB: C) => number): T | undefined

Унаследовано от

Collection#maxBy()

Обсуждение

const { List, } = require('immutable');
const l = List([
  { name: 'Bob', avgHit: 1 },
  { name: 'Max', avgHit: 3 },
  { name: 'Lili', avgHit: 2 } ,
]);
l.maxBy(i => i.avgHit); // will output { name: 'Max', avgHit: 3 }run it

min()

Возвращает минимальное значение в этой коллекции. Если некоторые значения сравнимы, будет возвращено первое из них.

min(comparator?: (valueA: T, valueB: T) => number): T | undefined

Унаследовано от

Collection#min()

Обсуждение

Функция comparator используется аналогично Collection#sort. Если она не указана, по умолчанию используется компаратор <.

Если два значения считаются эквивалентными, будет возвращено первое из них. В противном случае, min будет работать независимо от порядка ввода, при условии, что компаратор коммутативен. По умолчанию компаратор < коммутативен только при совпадении типов.

Если comparator возвращает 0 и одно из значений NaN, undefined или null, будет возвращено это значение.

minBy()

Как min, но также принимает comparatorValueMapper, что позволяет сравнивать более сложными способами:

minBy<C>(comparatorValueMapper: (value: T, key: T, iter: this) => C,comparator?: (valueA: C, valueB: C) => number): T | undefined

Унаследовано от

Collection#minBy()

Обсуждение

const { List, } = require('immutable');
const l = List([
  { name: 'Bob', avgHit: 1 },
  { name: 'Max', avgHit: 3 },
  { name: 'Lili', avgHit: 2 } ,
]);
l.minBy(i => i.avgHit); // will output { name: 'Bob', avgHit: 1 }run it

Сравнение

isSubset()

True, если iter содержит каждое значение из этой коллекции.

isSubset(iter: Iterable<T>): boolean

Унаследовано от

Collection#isSubset()

isSuperset()

True, если эта коллекция содержит каждое значение из iter.

isSuperset(iter: Iterable<T>): boolean

Унаследовано от

Collection#isSuperset()
Эта документация сгенерирована из immutable.d.ts. Приветствуются pull запросы и вопросы.

© 2014–present, Lee Byron and other contributors
Licensed under the 3-clause BSD License.
https://immutable-js.com/docs/v4.2.1/Set/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API