sfcode
An Online Competing and Development Environment
unset-value NPM version NPM monthly downloads NPM total downloads Linux Build Status

Delete nested properties from an object using dot notation.

Install

Install with npm:

$ npm install --save unset-value

Usage

var unset = require('unset-value');
var obj = {a: {b: {c: 'd', e: 'f'}}};
unset(obj, 'a.b.c');
console.log(obj);
//=> {a: {b: {e: 'f'}}};

Examples

Updates the object when a property is deleted

var obj = {a: 'b'};
unset(obj, 'a');
console.log(obj);
//=> {}

Returns true when a property is deleted

unset({a: 'b'}, 'a') // true

Returns <tt>true</tt> when a property does not exist

This is consistent with delete behavior in that it does not throw when a property does not exist.

unset({a: {b: {c: 'd'}}}, 'd') // true

delete nested values

var one = {a: {b: {c: 'd'}}};
unset(one, 'a.b');
console.log(one);
//=> {a: {}}
var two = {a: {b: {c: 'd'}}};
unset(two, 'a.b.c');
console.log(two);
//=> {a: {b: {}}}
var three = {a: {b: {c: 'd', e: 'f'}}};
unset(three, 'a.b.c');
console.log(three);
//=> {a: {b: {e: 'f'}}}

throws on invalid args

unset();
// 'expected an object.'

About

Related projects

Contributing

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

Contributors

Commits Contributor
6 jonschlinkert
2 wtgtybhertgeghgtwtg

Building docs

_(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 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

Author

Jon Schlinkert

License

Copyright © 2017, Jon Schlinkert. Released under the [MIT License](LICENSE).


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