Reputation: 1027
I have this simple object.
var myobj = {
id: value
}
But instead of having a property named "id" I want the property identifier to be the value of:
$(this).attr('id');
I cannot preset this as I do not know the ID of the element. I want to be able to get my property value by
<id-of-element>.id
I understand I cannot do like this:
var myobj = {
$(this).attr('id'): value
}
but how can I solve it? :)
Upvotes: 1
Views: 40
Reputation: 288120
ES6 introduces computed property names, which allow you to do
var myobj = {
[$(this).attr('id')]: value
}
Note browser support is currently negligible.
Upvotes: 0
Reputation: 64526
You can't assign a dynamic property name like that, but you can use the []
notation:
var myobj = {};
myobj[$(this).attr('id')] = value;
Upvotes: 5