Create an array composed of the own enumerable property names (including nested) of an object.
MIT License
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).
$ npm install --save deep-keys
deepKeys(obj, intermediate[optional])
var deepKeys = require('deep-keys');
var obj1 = {
a: 1,
b: { c: 1 },
c: { d: { e: 1 }, f: 1 },
d: { e: { f: { g: 1, h: 2 } } },
e: 2,
f: { g: [] }
};
deepKeys(obj1);
//=> ['a', 'b.c', 'c.d.e', 'c.f', 'd.e.f.g', 'd.e.f.h', 'e', 'f.g']
var obj2 = {
type: 'customer',
details: {
name: 'Ariel', age: 26, address: { city: 'Tel Aviv', country: 'Israel' }
},
isActive: true
};
deepKeys(obj2);
//=> ['type', 'details.name', 'details.age', 'details.address.city', 'details.address.country', 'isActive']
// intermediate example
var obj3 = {a:{b:{c:1}}};
deepKeys(obj3); //=> [ 'a.b.c' ]
deepKeys(obj3, true); //=> [ 'a', 'a.b', 'a.b.c' ]
// Dots in key names get escaped
var obj4 = { 'a.': { b: 1} };
deepKeys(obj4) //=> [ 'a\\..b' ]
MIT © Ariel Mashraki