Name Last Update
..
LICENSE Loading commit data...
README.md Loading commit data...
index.js Loading commit data...
package.json Loading commit data...

object.omit NPM version NPM monthly downloads NPM total downloads Linux Build Status

Return a copy of an object excluding the given key, or array of keys. Also accepts an optional filter function as the last argument.

Install

Install with npm:

$ npm install --save object.omit

Usage

var omit = require('object.omit');

Pass a string key to omit:

omit({a: 'a', b: 'b', c: 'c'}, 'a')
//=> { b: 'b', c: 'c' }

Pass an array of keys to omit:

omit({a: 'a', b: 'b', c: 'c'}, ['a', 'c'])
//=> { b: 'b' }

Returns the object if no keys are passed:

omit({a: 'a', b: 'b', c: 'c'})
//=> {a: 'a', b: 'b', c: 'c'}

Returns an empty object if no value is passed.

omit()
//=> {}

Filter function

An optional filter function may be passed as the last argument, with or without keys passed on the arguments:

filter on keys

var res = omit({a: 'a', b: 'b', c: 'c'}, function (val, key) {
  return key === 'a';
});
//=> {a: 'a'}

filter on values

var fn = function() {};
var obj = {a: 'a', b: 'b', c: fn};

var res = omit(obj, ['a'], function (val, key) {
  return typeof val !== 'function';
});
//=> {b: 'b'}

About

Related projects

  • object.defaults: Like extend but only copies missing properties/values to the target object. | homepage
  • object.filter: Create a new object filtered to have only properties for which the callback returns true. | homepage
  • object.pick: Returns a filtered copy of an object with only the specified keys, similar to _.pick… [more](https://github.com/jonschlinkert/object.pick) | [homepage](https://github.com/jonschlinkert/object.pick "Returns a filtered copy of an object with only the specified keys, similar to_.pick` from lodash / underscore.")
  • object.pluck: Like pluck from underscore / lo-dash, but returns an object composed of specified properties, with… more | homepage
  • object.reduce: Reduces an object to a value that is the accumulated result of running each property… more | homepage

Contributing

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

Building docs

(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)

To generate the readme and API documentation with verb:

$ npm install -g verb verb-generate-readme && verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb-generate-readme, v0.2.0, on October 27, 2016.