some()
some<
T>(collection,predicate):boolean
some<
T>(collection,predicate):boolean
Checks if predicate returns truthy for any element of collection.
Use array.some() or Object.values().some() directly instead.
Type Parametersβ
T: Tβ
The type of elements in the array, or the object type.
Parametersβ
Overload 1:
collection: T[]β
The collection to iterate over.
predicate: (value, index, array) => booleanβ
The function invoked per iteration.
Overload 2:
collection: Tβ
The collection to iterate over.
predicate: (value, key, object) => booleanβ
The function invoked per iteration.
Returns: booleanβ
true if any element passes the predicate check, else false.
See Alsoβ
Sinceβ
2.0.0
Also known asβ
any (Ramda) Β· some (Lodash, es-toolkit, Effect) Β· β (Remeda, Radashi, Modern Dash, Antfu)
Exampleβ
const numbers = [1, 2, 3, 4, 5];
// β Deprecated approach
const hasEven = some(numbers, n => n % 2 === 0);
console.log(hasEven); // true
// β
Recommended approach (for arrays)
const hasEvenNative = numbers.some(n => n % 2 === 0);
console.log(hasEvenNative); // true
// β
Recommended approach (for objects)
const obj = { a: 1, b: 2, c: 3 };
const hasEvenObj = Object.values(obj).some(n => n % 2 === 0);
console.log(hasEvenObj); // true
How it works?β
Checks if any element passes the predicate.
Deprecated: Use array.some() directly.
Native Equivalentβ
// β some(arr, fn)
// β
arr.some(fn)
Use Casesβ
Check if any item matches πβ
Check if at least one element satisfies a condition.
const users = [{ admin: false }, { admin: true }, { admin: false }];
users.some(u => u.admin);
// => true
Validate at least one selectionβ
Ensure at least one option is selected.
const options = [{ selected: false }, { selected: false }];
options.some(o => o.selected);
// => false (no selection)
Check for errorsβ
Determine if any validation errors exist.
const fields = [{ error: null }, { error: "Required" }, { error: null }];
fields.some(f => f.error !== null);
// => true
Check if user has a required roleβ
Verify that a user holds at least one of the required roles for access control. Fundamental pattern for role-based authorization in any application.
const userRoles = ["editor", "viewer"];
const requiredRoles = ["admin", "editor"];
const hasAccess = some(requiredRoles, (role) => userRoles.includes(role));
// => true (user has "editor")