Skip to content

Function: sliceMap()

sliceMap<Data, Key, Value, AsMap, Result>(data, options?): Result

Defined in: packages/core/src/iterable/sliceMap.ts:66

Slice an iterable list and map the values into an Array/Map.

Type Parameters

Data

Data extends IterableList

Key

Key = Data extends IterableList<Key, unknown> ? Key : never

Value

Value = Data extends IterableList<unknown, Value> ? Value : never

AsMap

AsMap extends boolean = false

Result

Result = AsMap extends false ? Value[] : Map<Key, Value>

Parameters

data

Data

Array, Map, Set...

options?

One of the following is required to create a new list:

  1. A callback function SliceMapTransform to transform all items.
  2. Advanced options SliceMapOptions.

SliceMapOptions<Data, Value, Key, AsMap> | SliceMapTransform<Data, Value, Key>

Returns

Result

Array/Map

Example

javascript
const data = new Map([
	[0, { age: 30, name: 'Alice' }],
	[1, { age: 25, name: 'Bob' }],
	[2, undefined],
	[3, {}],
	[4, { age: 35, name: 'Charlie' }],
	[5, { age: 28, name: 'Dave' }],
	[6, { age: 22, name: 'Eve' }],
])
const result = sliceMap(data, {
	asMap: false, // whether to return the result as a Map
	end: 5, // last index (exclusive)
	ignoreEmpty: true, // ignore items with no value
	start: 1, // first index
})
console.log(result)
// [ { age: 25, name: 'Bob' }, { age: 35, name: 'Charlie' } ]