Skip to content

Function: sliceMap() ​

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

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

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? ​

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

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 depending on options.asMap

Example ​

Slice a list of items and map values into new array ​

javascript
import { sliceMap } from '@superutils/core'

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' } ]