Skip to content

some

INFO

この関数は互換性のために es-toolkit/compat からのみインポートできます。代替可能なネイティブ JavaScript API があるか、まだ十分に最適化されていないためです。

es-toolkit/compat からこの関数をインポートすると、lodash と完全に同じように動作します。

配列内に指定された条件と一致する要素があるかどうかを確認します。

条件は複数の方法で指定できます。

  • 検査関数: 各要素に対して検査する関数を実行します。最初に true を返す値が選択されます。
  • 部分オブジェクト: 与えられたオブジェクトと部分的に一致する最初の要素が選択されます。
  • プロパティ-値ペア: 該当プロパティに対して値が一致する最初の要素が選択されます。
  • プロパティ名: 該当プロパティに対して真と評価される値を持つ最初の要素が選択されます。

条件が提供されていない場合、関数は配列内に真と評価される要素があるかどうかを確認します。

インターフェース

typescript
function some<T>(arr: T[], predicate: (item: T, index: number, arr: any) => unknown): boolean;
function some<T>(arr: T[], predicate: [keyof T, unknown]): boolean;
function some<T>(arr: T[], predicate: string): boolean;
function some<T>(arr: T[], predicate: Partial<T>): boolean;

パラメータ

  • arr (T[]): 反復する配列です。
  • predicate (((item: T, index: number, arr: any) => unknown) | Partial<T> | [keyof T, unknown] | string):
    • 検査関数 ((item: T, index: number, arr: T[]) => unknown): 探している要素かどうかを返す関数。
    • 部分オブジェクト (Partial<T>): 一致させるプロパティと値を指定した部分オブジェクト。
    • プロパティ-値ペア ([keyof T, unknown]): 最初が一致させるプロパティ、2番目が一致させる値を表すタプル。
    • プロパティ名 (string): 真と評価される値を持っているか確認するプロパティ名。

戻り値

(boolean): 述語チェックを通過する要素があればtrue、それ以外の場合はfalse

typescript
some([1, 2, 3, 4], n => n % 2 === 0);
// => true

some([{ a: 1 }, { a: 2 }, { a: 3 }], { a: 2 });
// => true

some([{ a: 1 }, { a: 2 }, { a: 3 }], ['a', 2]);
// => true

some([{ a: 1 }, { a: 2 }, { a: 3 }], 'a');
// => true

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