Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 1.05 KB

.verb.md

File metadata and controls

63 lines (46 loc) · 1.05 KB

Usage

var unset = require('{%= name %}');
unset(obj, prop);

Params

  • obj {object}: The object to unset prop on
  • prop {string | string[]}: The property to unset. Dot-notation may be used or an array of nested properties.

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 true 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.'