Socket
Socket
Sign inDemoInstall

del-key

Package Overview
Dependencies
1
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    del-key

Safely delete a deeply nested key in an object


Version published
Weekly downloads
1K
decreased by-2.05%
Maintainers
1
Install size
36.0 kB
Created
Weekly downloads
 

Readme

Source

Delete Key

Build Status npm version License: MIT

Delete a key from a deeply nested JavaScript object.

Why? start with why

There are a few other libs that already aid in deleting keys from objects. But none of them iteratively deletes the key if one of the nested objects is an array.

The following are the highlights of this delete-key library.

  • Traverses through the exact path for maximum performance. Does not iterate over the keys to detect presence.
  • Support for arrays in object path. Keys will be iteratively removed from each item in the array. (This is where del-key differs from lodash's _.unset() method)
  • Accepts array index in path definition.
  • Mutates the object.

Install

$ npm install --save del-key

Usage

Syntax

deleteKey(obj, pathToDelete)

obj - the object that has the key to be deleted

pathToDelete - the path to the key in the object in string notation

See examples below for more info.

Examples

import deleteKey from 'del-key'; // ES6 style import
// const deleteKey = require('del-key'); // ES5 style import

const obj = {
  nestedKey: {
    poorKey: 'hello',
    luckyKey: 'hi'
  }
}
deleteKey(obj, 'nestedKey.poorKey') // =>obj.nestedKey = { luckyKey: 'hi' }
//------------------------------------

const obj = {
  nestedArray: [{
    poorKey: 'first hello',
    luckyKey: 'first hi'
  }, {
    poorKey: 'second hello',
    luckyKey: 'second hi'
  }]
}
deleteKey(obj, 'nestedArray[0].poorKey')
// =>obj.nestedArray[0] = { luckyKey: 'first hi' }
// =>obj.nestedArray[1] = { poorKey: 'second hello', luckyKey: 'first hi' }
//------------------------------------

const obj = {
  nestedArray: [{
    poorKey: 'first hello',
    luckyKey: 'first hi'
  }, {
    poorKey: 'second hello',
    luckyKey: 'second hi'
  }]
}
deleteKey(obj, 'nestedArray.poorKey') // => iteratively removes poorKey from each item in nestedArray
// =>obj.nestedArray[0] = { luckyKey: 'first hi' }
// =>obj.nestedArray[1] = { luckyKey: 'first hi' }

License

MIT © Dineshkumar Pandiyan

Keywords

FAQs

Last updated on 10 Feb 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc