All JavaScript dictionaries are objects, so getting the properties of a JavaScript object is the same as getting the keys of a JavaScript dictionary.
There are a few ways to get the keys of an object in JavaScript.
There are 2 ways to get the length of the list of keys of an object.
Object.keys
Object.keys
gets the top level list of keys of an object and returns an array of them. For example:
const a = {foo: 1, bar: 2};
const length = Object.keys(a).length // 2
You can call find
on the keys array to look for the key, like the following:
Object.keys(a).find(k => k == 'foo') // 'foo'
Object.getPropertyNames
Object.getPropertyNames
also gets a list of all top level of keys of an object and return them as an array. For example:
const a = {foo: 1, bar: 2};
const length = Object.getOwnPropertyNames(a).length // 2
You can call find
on the keys array to look for the key, like the following:
Object.getOwnPropertyNames(a).find(k => k == 'foo') // 'foo'
for…in Loop
There is a special loop for looping through the keys of an object. You can do the following:
const a = {foo: 1, bar: 2};
let keysCount = 0;
for (let key in a) {
keysCount++;
}
console.log(keysCount) // 2
hasOwnProperty
You can check if an object has a property by calling hasOwnProperty
of an object. For example:
const a = {foo: 1, bar: 2};
a.hasOwnProperty(key); // true