Spec-Zone.ru › Immutable.js

Seq.Indexed

Seq представляющий упорядоченный индексированный список значений.

type Seq.Indexed<T> extends Seq<number, T>, Collection.Indexed<T>

Создание

Seq.Indexed()

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

Seq.Indexed<T>(collection?: Iterable<T> | ArrayLike<T>): Seq.Indexed<T>

Описание

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

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

Seq.Indexed.of()

Seq.Indexed.of<T>(...values: Array<T>): Seq.Indexed<T>

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

toJS()

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

toJS(): Array<DeepCopy<T>>

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

Collection#toJS()

toJSON()

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

toJSON(): Array<T>

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

Collection#toJSON()

toArray()

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

toArray(): Array<T>

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

Collection#toArray()

toObject()

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

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

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

Collection#toObject()

Описание

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

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

toSeq()

Возвращает себя

toSeq(): this

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

Collection#toSeq()

toKeyedSeq()

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

toKeyedSeq(): Seq.Keyed<number, 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

toIndexedSeq()

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

toIndexedSeq(): Seq.Indexed<T>

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

Collection#toIndexedSeq()

toSetSeq()

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

toSetSeq(): Seq.Set<T>

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

Collection#toSetSeq()

fromEntrySeq()

Если это коллекция кортежей [ключ, значение], она вернёт Seq.Keyed этих записей.

fromEntrySeq(): Seq.Keyed<unknown, unknown>

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

Collection.Indexed#fromEntrySeq()

Комбинирование

concat()

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

concat<C>(...valuesOrCollections: Array<Iterable<C> | C>): Seq.Indexed<T | C>

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

Collection#concat()

zip()

zip<U>(other: Collection<unknown, U>): Seq.Indexed<[T, U]>
zip<U, V>(other: Collection<unknown, U>,other2: Collection<unknown, V>): Seq.Indexed<[T, U, V]>
zip(...collections: Array<Collection<unknown, unknown>>): Seq.Indexed<unknown>

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

Collection.Indexed#zip()

zipAll()

zipAll<U>(other: Collection<unknown, U>): Seq.Indexed<[T, U]>
zipAll<U, V>(other: Collection<unknown, U>,other2: Collection<unknown, V>): Seq.Indexed<[T, U, V]>
zipAll(...collections: Array<Collection<unknown, unknown>>): Seq.Indexed<unknown>

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

Collection.Indexed#zipAll()

zipWith()

zipWith<U, Z>(zipper: (value: T, otherValue: U) => Z,otherCollection: Collection<unknown, U>): Seq.Indexed<Z>
zipWith<U, V, Z>(zipper: (value: T, otherValue: U, thirdValue: V) => Z,otherCollection: Collection<unknown, U>,thirdCollection: Collection<unknown, V>): Seq.Indexed<Z>
zipWith<Z>(zipper: (...values: Array<unknown>) => Z,...collections: Array<Collection<unknown, unknown>>): Seq.Indexed<Z>

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

Collection.Indexed#zipWith()

flatten()

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

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

Collection#flatten()

interpose()

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

interpose(separator: T): this

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

Collection.Indexed#interpose()

interleave()

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

interleave(...collections: Array<Collection<unknown, T>>): this

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

Collection.Indexed#interleave()

Описание

Результирующая коллекция включает первый элемент из каждой, затем второй из каждой и т.д.

const { List } = require('immutable')
List([ 1, 2, 3 ]).interleave(List([ 'A', 'B', 'C' ]))
// List [ 1, "A", 2, "B", 3, "C" ]run it

Самая короткая коллекция останавливает переплетение.

List([ 1, 2, 3 ]).interleave(
  List([ 'A', 'B' ]),
  List([ 'X', 'Y', 'Z' ])
)
// List [ 1, "A", "X", 2, "B", "Y" ]run it

Поскольку interleave() повторно индексирует значения, она создаёт полную копию, которая имеет сложность O(N).

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

splice()

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

splice(index: number, removeNum: number, ...values: Array<T>): this

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

Collection.Indexed#splice()

Описание

index может быть отрицательным числом, которое индексирует назад с конца коллекции. s.splice(-2) вставляет после предпоследнего элемента.

const { List } = require('immutable')
List([ 'a', 'b', 'c', 'd' ]).splice(1, 2, 'q', 'r', 's')
// List [ "a", "q", "r", "s", "d" ]run it

Поскольку splice() повторно индексирует значения, она создаёт полную копию, которая имеет сложность O(N).

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

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

map()

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

map<M>(mapper: (value: T, key: number, iter: this) => M,context?: unknown): Seq.Indexed<M>

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

Seq#map()

Пример

const { Seq } = require('immutable')
Seq.Indexed([ 1, 2 ]).map(x => 10 * x)
// Seq [ 10, 20 ]

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

flatMap()

Плоско отображает Seq, возвращая Seq того же типа.

flatMap<M>(mapper: (value: T, key: number, iter: this) => Iterable<M>,context?: unknown): Seq.Indexed<M>

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

Seq#flatMap()

Описание

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

filter()

filter<F>(predicate: (value: T, index: number, iter: this) => boolean,context?: unknown): Seq.Indexed<F>
filter(predicate: (value: T, index: number, iter: this) => unknown,context?: unknown): this

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

Seq#filter()

partition()

partition<F, C>(predicate: (this: C, value: T, index: number, iter: this) => boolean,context?: C): [Seq.Indexed<T>, Seq.Indexed<F>]
partition<C>(predicate: (this: C, value: T, index: number, iter: this) => unknown,context?: C): [this, this]

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

Seq#partition()

filterNot()

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

filterNot(predicate: (value: T, key: number, 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()

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

reverse(): this

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

Collection#reverse()

sort()

Возвращает новую коллекцию того же типа, которая включает те же записи, стабильно отсортированные с помощью 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: number, 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: number, iter: this) => G,context?: unknown): Seq.Keyed<G, Collection<number, 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

Итераторы

[Symbol.iterator]()

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

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

Collection#[Symbol.iterator]()

keys()

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

keys(): IterableIterator<number>

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

Collection#keys()

Описание

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

values()

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

values(): IterableIterator<T>

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

Collection#values()

Описание

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

entries()

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

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

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

Collection#entries()

Описание

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

Члены

размер

Некоторые Seqs могут описывать свой размер лениво. В этом случае размер будет целым числом. В противном случае он будет не определен.

size: number | undefined

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

Seq#size

Обсуждение

Например, Seqs, возвращаемые из map() или reverse(), сохраняют размер исходного Seq, в то время как filter() этого не делает.

Примечание: Range, Repeat и Seq из Array и Object всегда будут иметь размер.

Вынужденная оценка

cacheResult()

Поскольку последовательности ленивы и предназначены для объединения в цепочки, они не кэшируют свои результаты. Например, эта функция map вызывается в общей сложности 6 раз, так как каждая join итерирует Seq из трех значений.

cacheResult(): this

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

Seq#cacheResult()

Обсуждение

var squares = Seq([ 1, 2, 3 ]).map(x => x  x)
squares.join() + squares.join()

Если вы знаете, что Seq будет использоваться несколько раз, то может быть эффективнее сначала кэшировать его в памяти. Здесь функция map вызывается только 3 раза.

var squares = Seq([ 1, 2, 3 ]).map(x => x  x).cacheResult()
squares.join() + squares.join()

Используйте этот метод осмотрительно, так как он должен полностью оценить Seq, что может наложить нагрузку на память и, возможно, на производительность.

Примечание: после вызова cacheResult, Seq всегда будет иметь size.

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

equals()

Истина, если этот и другой 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: number, notSetValue: NSV): T | NSV
get(key: number): T | undefined

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

Collection#get()

has()

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

has(key: number): boolean

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

Collection#has()

includes()

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

includes(value: T): boolean

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

Collection#includes()

alias

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()

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

hasIn(searchKeyPath: Iterable<unknown>): boolean

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

Collection#hasIn()

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

update()

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

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

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

Collection#update()

Обсуждение

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

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

Преобразование в коллекции

toMap()

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

toMap(): Map<number, T>

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

Collection#toMap()

Обсуждение

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

toOrderedMap()

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

toOrderedMap(): OrderedMap<number, 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), но предоставлено для возможности цепочек выражений.

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

keySeq()

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

keySeq(): Seq.Indexed<number>

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

Collection#keySeq()

valueSeq()

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

valueSeq(): Seq.Indexed<T>

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

Collection#valueSeq()

entrySeq()

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

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

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

Collection#entrySeq()

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

forEach()

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

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

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

Collection#forEach()

Обсуждение

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

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

slice()

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

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

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

Collection#slice()

Обсуждение

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

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

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

rest()

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

rest(): this

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

Collection#rest()

butLast()

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

butLast(): this

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

Collection#butLast()

skip()

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

skip(amount: number): this

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

Collection#skip()

skipLast()

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

skipLast(amount: number): this

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

Collection#skipLast()

skipWhile()

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

skipWhile(predicate: (value: T, key: number, 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: number, 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: number, 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: number, 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

Сокращение значения

reduce()

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

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

Collection#reduce()

reduceRight()

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

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

Collection#reduceRight()

every()

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

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

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

Collection#every()

some()

True, если predicate возвращает true для любого элемента в коллекции.

some(predicate: (value: T, key: number, 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: number, iter: this) => boolean,context?: unknown): number

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

Collection#count()

countBy()

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

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

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

Collection#countBy()

Обсуждение

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

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

find()

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

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

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

Collection#find()

findLast()

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

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

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

Collection#findLast()

Обсуждение

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

findEntry()

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

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

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

Collection#findEntry()

findLastEntry()

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

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

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

Collection#findLastEntry()

Обсуждение

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

findKey()

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

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

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

Collection#findKey()

findLastKey()

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

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

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

Collection#findLastKey()

Обсуждение

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

keyOf()

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

keyOf(searchValue: T): number | undefined

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

Collection#keyOf()

lastKeyOf()

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

lastKeyOf(searchValue: T): number | 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: number, 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: number, 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

indexOf()

Возвращает первый индекс, в котором заданное значение можно найти в коллекции, или -1, если его нет.

indexOf(searchValue: T): number

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

Collection.Indexed#indexOf()

lastIndexOf()

Возвращает последний индекс, в котором заданное значение можно найти в коллекции, или -1, если его нет.

lastIndexOf(searchValue: T): number

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

Collection.Indexed#lastIndexOf()

findIndex()

Возвращает первый индекс в коллекции, где значение удовлетворяет предоставленной предикатной функции. В противном случае возвращается -1.

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

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

Collection.Indexed#findIndex()

findLastIndex()

Возвращает последний индекс в коллекции, где значение удовлетворяет предоставленной предикатной функции. В противном случае возвращается -1.

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

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

Collection.Indexed#findLastIndex()

Сравнение

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/Seq.Indexed/

Spec-Zone.ru

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