Open1

array-range-util

ken7253ken7253

Range

Types

type ArrayRange = {
  start: number;
  end: number;
};

Range.fill

任意の長さの配列を作成するメソッド

ref: Haskell [1..10]

const fill = (size: number, step?: number) => 
  new Array(size).fill(null).map((_, i) => step ? i * step : i);

https://tc39.es/proposal-iterator.range/#sec-create-numeric-range-iterator

Range.inRangeLast

配列の中から範囲を指定してその中で一番最後の要素を取得する。
配列長が足りなかったり、疎配列の場合はその要素は無視される。

const inRangeLast = (arr: unkown[], range: ArrayRange) => {
  // TODO
};

Range.inRangeFirst

配列の中から範囲を指定してその中で一番最初の要素を取得する。
配列長が足りなかったり、疎配列の場合はその要素は無視される。

const inRangeFirst = (arr: unkown[], range: ArrayRanger) => {
  // TODO
};

Range.map

配列の中の指定した範囲だけにmapを適用する。
配列長が足りなかったり、疎配列の場合はその要素は無視される。

type MapFn = (typeof Array)['prototype']['map'];
const map = (arr: unkown[], range: ArrayRange, mapFn: MapFn) => {
  // TODO
};