从数组中选取指定的索引或索引范围并返回新的数组。
pickRange
函数签名
typescript
function pickRange<T>(arr: T[], range: number | [number, number]): T[]描述
从数组中选取指定的索引或索引范围并返回新的数组。
类型参数
| 参数名 | 约束 | 默认值 | 描述 |
|---|---|---|---|
T | - | - | - 数组元素类型。 |
参数
| 参数名 | 类型 | 可选 | 默认值 | 描述 |
|---|---|---|---|---|
arr | T\[\] | 否 | - | - |
range | number | \[number, number\] | 否 | - | - |
返回值
T\[\]
示例
typescript
pickRange([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [2, 4]) // [3, 4, 5]typescript
pickRange([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 2) // [3]typescript
pickRange(['a', 'b', 'c', 'd', 'e'], [1, 3]) // ['b', 'c', 'd']点击查看源码
js
/**
* 从数组中选取指定的索引或索引范围并返回新的数组。
*
* @type {<T>(arr: T[], range: number | [number, number]) => T[]}
* @param {T[]} arr - 要选取元素的数组。
* @param {number | [number, number]} range - 要选取的单个索引或索引范围数组。
* @returns {T[]} 选取指定索引或索引范围内元素后的新数组。
* @template T - 数组元素类型。
* @example
* pickRange([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [2, 4]) // [3, 4, 5]
* @example
* pickRange([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 2) // [3]
* @example
* pickRange(['a', 'b', 'c', 'd', 'e'], [1, 3]) // ['b', 'c', 'd']
*/
export function pickRange(arr, range) {
const _range = typeof range === "number" ? [range, range] : range;
const [start, end] = _range;
return arr.filter((_, index) => index >= start && index <= end);
}ts
/**
* 从数组中选取指定的索引或索引范围并返回新的数组。
*
* @type {<T>(arr: T[], range: number | [number, number]) => T[]}
* @param {T[]} arr - 要选取元素的数组。
* @param {number | [number, number]} range - 要选取的单个索引或索引范围数组。
* @returns {T[]} 选取指定索引或索引范围内元素后的新数组。
* @template T - 数组元素类型。
* @example
* pickRange([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [2, 4]) // [3, 4, 5]
* @example
* pickRange([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 2) // [3]
* @example
* pickRange(['a', 'b', 'c', 'd', 'e'], [1, 3]) // ['b', 'c', 'd']
*/
export function pickRange<T>(arr: T[], range: number | [number, number]): T[] {
const _range = typeof range === "number" ? [range, range] : range;
const [start, end] = _range;
return arr.filter((_, index) => index >= start && index <= end);
}如有错误,请提交issue :::