Nutella with Pepperoni and Mushrooms

    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/object.omit package

    3.0.0 • Public • Published

    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.

    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.

    //=> {}

    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'}


    Related projects

    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]( | [homepage]( "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

    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.6.0, on September 03, 2017.


    npm i object.omit

    DownloadsWeekly Downloads






    Last publish


    • doowb
    • jonschlinkert