How to access the first property of a Javascript object?
var obj = { first: 'someVal' };
obj[Object.keys(obj)[0]]; //returns 'someVal'
Object.values(obj)[0]; // returns 'someVal'
Using this you can access also other properties by indexes. Be aware tho! Object.keys
or Object.values
return order is not guaranteed as per ECMAScript however unofficially it is by all major browsers implementations, please read https://stackoverflow.com/a/23202095 for details on this.
Get value of first object property
var value = obj[Object.keys(obj)[0]];
Object.keys
is included in javascript 1.8.5. Please check the compatibility here http://kangax.github.io/es5-compat-table/#Object.keys
Edit:
This is also defined in javascript 1.8.5 only.
var value = obj[Object.getOwnPropertyNames(obj)[0]];
Reference:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects?redirectlocale=en-US&redirectslug=JavaScript%2FGuide%2FWorking_with_Objects#Enumerating_all_properties_of_an_object
How can I access the first property of a nested property?
Use Object.values()
to convert the object to an array, then get the first value.
Object.values(pages)[0]
Getting the first index of an object
If the order of the objects is significant, you should revise your JSON schema to store the objects in an array:
[
{"name":"foo", ...},
{"name":"bar", ...},
{"name":"baz", ...}
]
or maybe:
[
["foo", {}],
["bar", {}],
["baz", {}]
]
As Ben Alpert points out, properties of Javascript objects are unordered, and your code is broken if you expect them to enumerate in the same order that they are specified in the object literal—there is no "first" property.
JavaScript: Get first and only property name of object
Maybe Object.keys can work for you. If its length returns 1, you can use yourObject[Object.keys[0]]
to get the only property of the object. The MDN-link also shows a custom function for use in environments without the keys
method1. Code like this:
var obj = {foo:'bar'},
kyz = Object.keys(obj);
if (kyz.length === 1){
alert(obj[kyz[0]]); //=> 'bar'
} else {
/* loop through obj */
}
1 Some older browsers don't support Object.keys
. The MDN link supplies code to to make it work in these browsers too. See header Compatibility in the aforementioned MDN page
Get the first key name of a JavaScript object
In Javascript you can do the following:
Object.keys(ahash)[0];
javascript's object: Get only the first key of an object
You can use Object.keys()
:
The
Object.keys()
method returns an array of a given object's own property names, in the same order as we get with a normal loop.
Then take the key from first index.
var p = { "p1": "value1", "p2": "value2", "p3": "value3"};var objectKey = Object.keys(p)[0];
console.log("the first key is: " + objectKey)
Get first property of an object that matches the condition
I’m glad you’re using ES6. In this case you can use Object.keys
to get an array of all the object’s keys and Array.prototype.find
to find the first element with a specific property:
var obj = {
a: [],
b: [],
c: [
2,
3
],
d: [],
e: [
1
]
};
Object.keys(obj).find(a => obj[a].length > 0); // The letter "c" which contains the first non-empty array.
obj[Object.keys(obj).find(a => obj[a].length > 0)]; // Array [2, 3] itself
Note that there’s no consistent “first” element in an object across implementations.
The easiest way to access an object's single own property?
something like
var value = obj[ Object.keys(obj)[0] ];
getting the keys with Object.keys
and the first (and only) key with [0]
Related Topics
How to Check If a Checkbox Is Checked
Interface Type Check with Typescript
How to Perform a Dns Lookup (Hostname to Ip Address) Using Client-Side JavaScript
Create Object from Class Name in Javasscript Ecmascript 6
When to Use Vanilla JavaScript VS. Jquery
Is Safari on iOS 6 Caching $.Ajax Results
Chrome Desktop Notification Example
Using Rails 3.1, Where Do You Put Your "Page Specific" JavaScript Code
React Onclick Function Fires on Render
How to Run Gulp Tasks Sequentially One After the Other
Babel File Is Copied Without Being Transformed
Jquery .Ready in a Dynamically Inserted Iframe
How to Get the Text Node of an Element
Promise.All Consumes All My Ram
Reactjs - Does Render Get Called Any Time "Setstate" Is Called