Skip to content

gearcase/object-set

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

object-set

Sets the value at path of object.

MIT License

build:? coverage:?

Install

$ npm install --save object-set 

Usage

For more use-cases see the tests

var set    = require('object-set');
var object = { 'a': [{ 'b': { 'c': 3 } }] };

set(object, 'a[0].b.c', 4);
// => { 'a': [{ 'b': { 'c': 4 } }] }

set({ foo: { bar: 'baz' } }, 'foo.arr[0]', 3);
// => { foo: {bar: 'baz', arr: [3] } }

set({ foo: { bar: 'baz' } }, 'foo.arr[1]', 3);
// => { foo: {bar: 'baz', arr: [, 3] } }

set({ foo: { bar: 'baz' } }, 'foo.obj.key', 3);
// => { foo: {bar: 'baz', obj: { key: 3 } } }

set(null, 'foo.obj.key', 3);
// => null

set({ foo: 1 }, 'foo.obj.key', 3);
// => { foo: 1 }

Use it to functionally create an object:

Array.from('12345')
  .map(parseFloat)
	.reduce((o, n) => set(o, n, n**2), {})
// => { 1: 1, 2: 4, 3: 9, 4: 16, 5: 25 }

Related

  • object-unset - Removes the property at path of object.
  • object-at - Get object's property according to the path.
  • object-has - Checks if path is a direct property of object.
  • to-path - Converts string to a property path array.

Contributing

Pull requests and stars are highly welcome.

For bugs and feature requests, please create an issue.

About

Sets the value at path of object.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published