node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »


for-own NPM version NPM monthly downloads NPM total downloads Linux Build Status

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.


Install with npm:

$ npm install --save for-own


var forOwn = require('for-own');
var obj = {a: 'foo', b: 'bar', c: 'baz'};
var values = [];
var keys = [];
forOwn(obj, function (value, key, o) {
//=> ['a', 'b', 'c']; 
//=> ['foo', 'bar', 'baz']; 


Related projects

  • arr-flatten: Recursively flatten an array or arrays. This is the fastest implementation of array flatten. | homepage
  • collection-map: Returns an array of mapped values from an array or object. | homepage
  • for-in: Iterate over the own and inherited enumerable properties of an object, and return an object… more | homepage


Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.


Commits Contributor
10 jonschlinkert
1 javiercejudo

Building docs

(This project's is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the readme template.)

To generate the readme, run the following command:

$ npm install -g verbose/verb#dev verb-generate-readme && verb

Running tests

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

$ npm install && npm test


Jon Schlinkert


Copyright © 2017, Jon Schlinkert. Released under the MIT License.

This file was generated by verb-generate-readme, v0.4.2, on February 26, 2017.