Lodash _.isArrayLikeObject() Method

Beginner
5 min read
Updated: Nov 2026
5 examples
Lang

Definition

Like _.isArrayLike, except it also checks that value is an object. Arrays, Arguments, and list-shaped objects pass; string primitives fail. Part of Lodash Lang since 4.0.0 (stable — not deprecated).

Pass the value you want to inspect or convert. Read the return type carefully before you use the result.

Syntax

Call _.isArrayLikeObject. Start with this line.

Lodash
_.isArrayLikeObject(value)
CallWhat it does
_.isArrayLikeObject(value)Primary signature.

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

Library declarations
Lodash
_.isArrayLikeObject(value)

Parameters

ParameterDescription
valueRequired. The value to check

Return Value

Return ValueDescription
*true if array-like object, else false

Lodash Examples

Example 1 — Official: Array

Real arrays are array-like objects.

Lodash
_.isArrayLikeObject([1, 2, 3]);
// → true
Try It Yourself

How It Works

  1. Input. Official sample: [1, 2, 3].
  2. Object. Arrays are objects in JavaScript.
  3. Array-like. Valid length, not a function.
  4. Result. true.

Example 2 — Official: String Fails

This is the key difference from _.isArrayLike.

Lodash
_.isArrayLikeObject("abc");
// → false

_.isArrayLike("abc");
// → true
Try It Yourself

How It Works

  1. Primitive. "abc" is a string, not an object.
  2. isArrayLikeObject. Object gate fails → false.
  3. isArrayLike. Only length rules apply → true.
  4. Use case. Prefer this helper when text must not count as a list.

Example 3 — Official: Function Excluded

Functions fail for the same reason as with isArrayLike.

Lodash
_.isArrayLikeObject(_.noop);
// → false
Try It Yourself

How It Works

  1. Arity. Functions have a length property.
  2. Excluded. Array-like rules reject functions.
  3. Result. false.
  4. Same idea. Matches official _.noop example.

Example 4 — Arguments & Shaped Objects

Object collections with a valid length pass.

Lodash
var args = (function () { return arguments; })(1, 2);
var like = { 0: "a", length: 1 };

_.isArrayLikeObject(args);  // → true
_.isArrayLikeObject(like);  // → true
_.isArray(args);            // → false
Try It Yourself

How It Works

  1. Arguments. Object + valid length → true.
  2. Shaped object. Same length rules → true.
  3. isArray. Arguments are not Arrays → false.
  4. Convert. Use _.toArray before Array methods.

Example 5 — Side-by-Side with isArrayLike

Use this table as a quick decision guide.

Lodash
var samples = [
  [1, 2],
  "hi",
  { 0: "a", length: 1 },
  _.noop
];

samples.map(function (v) {
  return {
    isArrayLike: _.isArrayLike(v),
    isArrayLikeObject: _.isArrayLikeObject(v)
  };
});
// → [
//   { isArrayLike: true,  isArrayLikeObject: true  }, // array
//   { isArrayLike: true,  isArrayLikeObject: false }, // string
//   { isArrayLike: true,  isArrayLikeObject: true  }, // object
//   { isArrayLike: false, isArrayLikeObject: false }  // function
// ]
Try It Yourself

How It Works

  1. Array / object. Both helpers agree → true.
  2. String. Only isArrayLike is true.
  3. Function. Both are false.
  4. Pick. Choose based on whether strings should count.

Browser & Runtime Support

_.isArrayLikeObject is a Lodash Lang helper (added in 4.0.0). It runs anywhere Lodash 4.x runs — modern browsers (via CDN or bundle) and Node.js / Bun / Deno with npm install lodash.

✓ Stable · Lodash 4.0.0+

_.isArrayLikeObject()

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

100% With Lodash 4.0.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
_.isArrayLikeObject Lodash 4.0.0+

Bottom line: Safe for production once Lodash 4.0.0+ is on the page or in your bundle. Prefer import isArrayLikeObject from "lodash/isArrayLikeObject" for smaller builds. Combine native Array.isArray with custom length checks if you avoid Lodash.

Frequently Asked Questions

_.isArrayLikeObject(value) is like _.isArrayLike, but it also requires value to be an object. Arrays, Arguments, and list-shaped objects pass; string primitives and functions fail.
isArrayLike accepts strings because they have length. isArrayLikeObject rejects primitives — strings fail even though they are array-like.
Yes. Arrays are objects with a valid length, so both helpers return true for ordinary arrays.
A String object wrapper is object-like and has length, so it typically passes isArrayLikeObject. Prefer consistent primitives or unwrap before checks.
Use isArrayLikeObject when your API should accept lists/DOM collections/Arguments but not treat string text as a collection.
Use import isArrayLikeObject from "lodash/isArrayLikeObject" or require("lodash/isArrayLikeObject") for tree-shaking friendly bundles. Full build: import _ from "lodash" then _.isArrayLikeObject.

Next: _.isBoolean()

Check whether a value is classified as a boolean.

_.isBoolean() 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