Return a copy of an object excluding the given key, or array of keys. Also accepts an optional filter function as the last argument.
Follow this project's author, Jon Schlinkert, for updates on this project and others.
Install with npm:
$ npm install --save object.omit
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()
//=> {}
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'}
You might also be interested in these 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
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Commits | Contributor |
---|---|
21 | jonschlinkert |
1 | bfred-it |
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verb
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.6.0, on September 03, 2017.