UNPKG

object-length

Version:

Get the length of an object's properties, excluding prototype properties. Works with dontEnum bugs.

62 lines (44 loc) 3.06 kB
# object-length [![NPM version](https://badge.fury.io/js/object-length.svg)](http://badge.fury.io/js/object-length) [![Build Status](https://travis-ci.org/jonschlinkert/object-length.svg)](https://travis-ci.org/jonschlinkert/object-length) > Get the length of an object's properties, excluding prototype properties. Works with dontEnum bugs. ## Install with [npm](npmjs.org) ```bash npm i object-length --save ``` ## Usage ```js var len = require('object-length'); len({a: 'a', b: 'b'}); //=> 2 ``` Works with `dontEnum` bug: ```js len({'hasOwnProperty': 'abc', def: 'xyz'}); //=> 2 ``` ## Other object utils * [get-value](https://github.com/jonschlinkert/get-value): Use property paths (`a.b.c`) get a nested value from an object. * [is-plain-object](https://github.com/jonschlinkert/is-plain-object): Returns true if an object was created by the `Object` constructor. * [for-own](https://github.com/jonschlinkert/for-own): Iterate over the own enumerable properties of an object, and return an object with properties that evaluate to true from the callback. Exit early by returning `false`. JavaScript/Node.js. * [for-in](https://github.com/jonschlinkert/for-in): Iterate over the own and inherited enumerable properties of an objecte, and return an object with properties that evaluate to true from the callback. Exit early by returning `false`. JavaScript/Node.js * [isobject](https://github.com/jonschlinkert/isobject): Returns true if the value is an object and not an array or null. * [object.omit](https://github.com/jonschlinkert/object.omit): Return a copy of an object without the given keys. * [object.filter](https://github.com/jonschlinkert/object.filter): Create a new object filtered to have only properties for which the callback returns true. * [object.pick](https://github.com/jonschlinkert/object.pick): Returns a filtered copy of an object with only the specified keys, like `pick` from lo-dash / underscore. * [object.pluck](https://github.com/jonschlinkert/object.pluck): Like pluck from underscore / lo-dash, but returns an object composed of specified properties, with values unmodified from those of the original object. * [object.reduce](https://github.com/jonschlinkert/object.reduce): Reduces an object to a value that is the accumulated result of running each property in the object through a callback. Executes the callback function once for each own enumerable property in the object, receiving four arguments: the initial value (or valu ## Contributing Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/object-length/issues) ## Running tests Install dev dependencies. ```bash npm i -d && npm test ``` ## Author **Jon Schlinkert** + [github/jonschlinkert](https://github.com/jonschlinkert) + [twitter/jonschlinkert](http://twitter.com/jonschlinkert) ## License Copyright (c) 2015 Jon Schlinkert Released under the MIT license *** _This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on March 20, 2015._