Lodash _.overSome() Method

Beginner
5 min read
Updated: Nov 2026
4 examples
Util

Definition

Creates a function that checks whether any of the predicates return truthy for the arguments it receives. Supports matches / matchesProperty shorthands. Part of Lodash Util since 4.0.0 (stable — not deprecated).

Pass the arguments shown below. Prefer modular imports when you only need this helper.

Syntax

Call _.overSome. Start with this line.

Lodash
_.overSome([predicates=[_.identity]])
CallWhat it does
_.overSome([predicates=[_.identity]])Primary signature.
_.overSome(...)Call the util helper.

Prefer import overSome from "lodash/overSome" when you want a smaller bundle.

Library declarations
Lodash
_.overSome([predicates=[_.identity]])

Parameters

ParameterDescription
predicatesOptional. Functions / shorthands (array and/or rest args)

Return Value

Return ValueDescription
*A function that returns true or false

Lodash Examples

Example 1 — Official: Boolean + isFinite

Either predicate may pass for the same value.

Lodash
var func = _.overSome([Boolean, isFinite]);

func('1');
// → true

func(null);
// → true

func(NaN);
// → false
Try It Yourself

How It Works

  1. Build. OR of Boolean and isFinite.
  2. '1'. Truthy → true immediately.
  3. null. Falsy as Boolean, but isFinite(null) is true → true.
  4. NaN. Both checks fail → false.

Example 2 — Official: Matches Objects

Any matching object shape is enough.

Lodash
var matchesFunc = _.overSome([{ a: 1 }, { a: 2 }]);

matchesFunc({ a: 1 });
// → true

matchesFunc({ a: 3 });
// → false
Try It Yourself

How It Works

  1. Shorthand. Each object is a matches-style check.
  2. OR. Accept a: 1 or a: 2.
  3. {a:1}. First predicate matches → true.
  4. {a:3}. Neither matches → false.

Example 3 — Official: MatchesProperty Pairs

Path/value arrays become property predicates.

Lodash
var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]]);

matchesPropertyFunc({ a: 1 });
// → true

matchesPropertyFunc({ a: 3 });
// → false
Try It Yourself

How It Works

  1. Pairs. ['a', 1] means “property a equals 1”.
  2. OR. Accept value 1 or 2 at path a.
  3. {a:1}. First pair matches → true.
  4. {a:3}. No pair matches → false.

Example 4 — overSome vs overEvery

OR vs AND on the same predicates with 0.

Lodash
var some = _.overSome([Boolean, isFinite]);
var every = _.overEvery([Boolean, isFinite]);

some(0);
// → true    (isFinite(0) passes)

every(0);
// → false   (Boolean(0) fails)
Try It Yourself

How It Works

  1. Zero. Falsy for Boolean, finite for isFinite.
  2. overSome. One pass is enough → true.
  3. overEvery. Needs both → false.
  4. Pick. Alternatives → some; strict gate → every.

Browser & Runtime Support

_.overSome is a Lodash Util helper since 4.0.0. It runs anywhere Lodash runs — modern browsers (CDN or bundle) and Node.js / Bun / Deno with npm install lodash.

✓ Stable · Lodash 4.0.0+

_.overSome()

Available in [email protected] full builds and the lodash/overSome modular import. Works in evergreen browsers and current Node LTS when Lodash is installed.

100% With Lodash 4.0+
Google Chrome Supported · Desktop & Mobile
Full support
Mozilla Firefox Supported · Desktop & Mobile
Full support
Apple Safari Supported · macOS & iOS
Full support
Microsoft Edge Supported · Chromium
Full support
Internet Explorer No native support · Use a polyfill
Polyfill
Opera Supported · Modern versions
Full support
Samsung Internet Supported · Android
Full support
Bun Supported · JavaScript runtime
Supported
Deno Supported · JavaScript runtime
Supported
Node.js Supported · Server runtime
Supported
Android WebView Supported · Modern WebView
Full support
_.overSome Lodash 4.0.0+

Bottom line: Safe for production once Lodash is loaded. Prefer import overSome from "lodash/overSome" for smaller bundles.

Frequently Asked Questions

_.overSome(predicates) returns a new function. When you call it, Lodash runs the predicates with the same arguments and returns true if at least one result is truthy — logical OR.
overEvery requires all predicates to pass (AND). overSome requires only one to pass (OR).
Yes. A plain object becomes a _.matches predicate; an array [path, value] becomes _.matchesProperty. Official examples use both forms.
Boolean(null) is false, but global isFinite(null) is true (null coerces to 0). One truthy predicate is enough for overSome.
_.some(collection, predicate) asks if any element passes one predicate. _.overSome builds a combinator of several rules for the same value.
No. It is a stable Lodash Util method since 4.0.0.

Next: _.property()

Create a reusable function that reads a path from any object.

_.property() tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

10 people found this page helpful