Skip to content

shuffle(Lodash 互換性)

es-toolkitshuffle を使用してください

この shuffle 関数は、Lodash との互換性のために追加の処理が含まれており、遅く動作します。

より高速でモダンな es-toolkitshuffle を使用してください。

配列またはオブジェクトの要素をランダムにシャッフルして新しい配列を返します。

typescript
const result = shuffle(collection);

参照

shuffle(collection)

Fisher-Yates アルゴリズムを使用して配列またはオブジェクトの要素をランダムにシャッフルし、新しい配列を返します。元は変更されません。

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

// 数値配列をシャッフル
const numbers = [1, 2, 3, 4, 5];
const shuffled1 = shuffle(numbers);
// 戻り値:例えば [3, 1, 5, 2, 4](毎回異なる順序)

// 文字列配列をシャッフル
const fruits = ['apple', 'banana', 'cherry', 'date'];
const shuffled2 = shuffle(fruits);
// 戻り値:例えば ['cherry', 'apple', 'date', 'banana']

// オブジェクトの値をシャッフル
const obj = { a: 1, b: 2, c: 3, d: 4 };
const shuffled3 = shuffle(obj);
// 戻り値:例えば [3, 1, 4, 2](オブジェクトの値がランダムにシャッフルされる)

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

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

shuffle(null);
// 戻り値:[]

shuffle(undefined);
// 戻り値:[]

パラメータ

  • collection (ArrayLike<T> | T | null | undefined): シャッフルする配列またはオブジェクト。

戻り値

(T[]):要素がランダムにシャッフルされた新しい配列を返します。

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