Skip to content

slice(Lodash 互換性)

Array.prototype.slice を使用してください

この slice 関数は、nullundefined の処理とスパース配列の特別な処理により、遅く動作します。JavaScript のネイティブ Array.prototype.slice メソッドはより高速で標準化されています。

より高速でモダンな Array.prototype.slice を使用してください。

配列の一部を切り取って新しい配列を作成します。

typescript
const sliced = slice(array, start, end);

参照

slice(array, start, end)

配列の特定の部分だけが必要な場合は slice を使用します。開始位置から終了位置の直前までの要素を含む新しい配列を作成します。

typescript
import { slice } from 'es-toolkit/compat';

// インデックス1から2まで切り取り
slice([1, 2, 3, 4], 1, 3);
// 戻り値:[2, 3]

// 負のインデックスを使用
slice([1, 2, 3, 4], -2);
// 戻り値:[3, 4]

// 開始位置のみ指定
slice([1, 2, 3, 4], 2);
// 戻り値:[3, 4]

nullundefined は空の配列として処理します。

typescript
import { slice } from 'es-toolkit/compat';

slice(null); // []
slice(undefined); // []

スパース配列を処理する場合、空のスロットは undefined で埋められます。

typescript
import { slice } from 'es-toolkit/compat';

const sparse = new Array(3);
sparse[1] = 'b';
slice(sparse);
// 戻り値:[undefined, 'b', undefined]

負のインデックスを使用すると配列の末尾から計算します。

typescript
import { slice } from 'es-toolkit/compat';

slice([1, 2, 3, 4, 5], -3, -1);
// 戻り値:[3, 4]

パラメータ

  • array (ArrayLike<T> | null | undefined): 切り取る配列。
  • start (number、オプション): 開始位置。負の値は末尾から計算します。デフォルトは 0 です。
  • end (number、オプション): 終了位置(含まない)。負の値は末尾から計算します。デフォルトは配列の長さです。

戻り値

(T[]):start から end の直前までの要素を含む新しい配列を返します。

MIT ライセンスの下で配布されています。