Exciting release!Introducing "safe npm". Learn more
Socket
Log inDemoInstall

get-prop

Package Overview
Dependencies
0
Maintainers
1
Versions
10
Issues
File Explorer

Advanced tools

get-prop

Get a property from object

    0.0.10latest
    Github

Version published
Maintainers
1
Weekly downloads
643
decreased by-23.18%

Weekly downloads

Readme

Source

getprop

Get a property from nested object, the easy way.

Antiquated way:

var value = 'default value'; if ( obj && obj.qux && obj.qux.zee && obj.qux.zee.peep && obj.qux.zee.peep[2] && obj.qux.zee.peep[2].__data) { value = obj.qux.zee.peep[2].__data; }

with getProp:

var value = getProp(obj, ['qux', 'zee', 'peep', 2, '__data']);

Install

npm install get-prop bower install getprop

Usage

var getProp = require('get-prop'); var obj = { foo: 'bar', qux: { zee: { boop: 4, peep: [55,'zonk', { __data: 'pow' }], }, 'key.with.dots': 'hello', '"key.with.quotes"': { greet: 'hi' }, $el: 'element' }, 'foo.bar': 'noob', qax: null }; // array for path (recommended) getProp(obj, ['foo']) // 'bar' getProp(obj, ['deedee']) // undefined getProp(obj, ['deedee'], "I'm default value") // "I'm default value" getProp(obj, ['qux', 'zee', 'boop']) // 'yo' getProp(obj, ['qux', 'zee', 'peep', 0]) // 55 getProp(obj, ['qux', 'zee', 'peep', 1]) // 'zonk' getProp(obj, ['qux', 'key.with.dots']) // 'hello' getProp(obj, ['qux', '"key.with.quotes"', 'greet']) // 'hi' getProp(obj, ['qux', 'zee', 'peep', 2]) // {__data: 'pow'} getProp(obj, ['qux', 'zee', 'peep', 2, '__data']) // 'pow' getProp(obj, ['qux', '$el']) // 'element' getProp(obj, ['foo.bar']) // 'noob' getProp(obj, ['qux', 'qux']) // undefined // string for path getProp(obj, 'foo') // 'bar' getProp(obj, 'deedee') // undefined getProp(obj, 'deedee', "I'm default value") // "I'm default value" getProp(obj, 'qux.zee.boop') // 'yo' getProp(obj, 'qux.zee.peep.0') // 55 getProp(obj, 'qux.zee.peep.1') // 'zonk' getProp(obj, 'qux.zee.peep[1]') // 'zonk' getProp(obj, 'qux[key.with.dots]') // 'hello' getProp(obj, 'qux["key.with.quotes"].greet') // 'hi' getProp(obj, 'qux.zee.peep.2') // {__data: 'pow'} getProp(obj, 'qux.zee.peep.2.__data') // 'pow' getProp(obj, 'qux.$el') // 'element' getProp(obj, '[foo.bar]') // 'noob' getProp(obj, 'qux.qux') // undefined

Partially applied:

var objProp = getProp(obj); objProp(['foo']) // 'bar' objProp('[foo.bar']) // 'noob' objProp(['qux']) // 'noob' objProp(['yo'], 'wut') // 'wut'

For a boolean version of this, check out the module hasprop.

License

MIT

Keywords

FAQs

Last updated on 05 Jan 2016

Did you know?

Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install Socket
Socket
support@socket.devSocket SOC 2 Logo

Product

  • Package Issues
  • 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