Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript get object key name

Tags:

javascript

How would I get the key name for the follow? E.g I want "button1" and "button2"?

var buttons = {     button1: {         text: 'Close',         onclick: function(){          }     },     button2: {         text: 'Close2',         onclick: function(){          }     } }  var i; for(i in buttons){     if(buttons.hasOwnProperty(i)){         alert(buttons[i].text);     } }  

I tried using .push() although this didn't work.

like image 430
John Magnolia Avatar asked Apr 26 '12 13:04

John Magnolia


1 Answers

This might be better understood if you modified the wording up a bit:

var buttons = {   foo: 'bar',   fiz: 'buz' };  for ( var property in buttons ) {   console.log( property ); // Outputs: foo, fiz or fiz, foo } 

Note here that you're iterating over the properties of the object, using property as a reference to each during each subsequent cycle.

MSDN says of for ( variable in [object | array ] ) the following:

Before each iteration of a loop, variable is assigned the next property name of object or the next element index of array. You can then use it in any of the statements inside the loop to reference the property of object or the element of array.

Note also that the property order of an object is not constant, and can change, unlike the index order of an array. That might come in handy.

like image 140
Sampson Avatar answered Oct 05 '22 08:10

Sampson