项目作者: a8m

项目描述 :
Creates an array composed of the own enumerable property names(including nested) of an object.
高级语言: JavaScript
项目地址: git://github.com/a8m/deep-keys.git
创建时间: 2014-10-13T09:09:27Z
项目社区:https://github.com/a8m/deep-keys

开源协议:MIT License

下载


deep-keys

NPM version
Build status
Test coverage
Dependency Status
License
Downloads

Creates an array composed of the own enumerable property names(including nested) of an object.

Note: This kit works great with obj-parse (get and set object properties in a fast and elegant way).

Install

  1. $ npm install --save deep-keys

Usage

deepKeys(obj, intermediate[optional])
  1. var deepKeys = require('deep-keys');
  2. var obj1 = {
  3. a: 1,
  4. b: { c: 1 },
  5. c: { d: { e: 1 }, f: 1 },
  6. d: { e: { f: { g: 1, h: 2 } } },
  7. e: 2,
  8. f: { g: [] }
  9. };
  10. deepKeys(obj1);
  11. //=> ['a', 'b.c', 'c.d.e', 'c.f', 'd.e.f.g', 'd.e.f.h', 'e', 'f.g']
  12. var obj2 = {
  13. type: 'customer',
  14. details: {
  15. name: 'Ariel', age: 26, address: { city: 'Tel Aviv', country: 'Israel' }
  16. },
  17. isActive: true
  18. };
  19. deepKeys(obj2);
  20. //=> ['type', 'details.name', 'details.age', 'details.address.city', 'details.address.country', 'isActive']
  21. // intermediate example
  22. var obj3 = {a:{b:{c:1}}};
  23. deepKeys(obj3); //=> [ 'a.b.c' ]
  24. deepKeys(obj3, true); //=> [ 'a', 'a.b', 'a.b.c' ]
  25. // Dots in key names get escaped
  26. var obj4 = { 'a.': { b: 1} };
  27. deepKeys(obj4) //=> [ 'a\\..b' ]

License

MIT © Ariel Mashraki