Approach: 1 - With more validation.
var employees= [
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter","lastName":"Jones"}
];
for(var obj in employees) {
if(employees.hasOwnProperty(obj)){
for(var prop in employees[obj]){
if(employees[obj].hasOwnProperty(prop)){
alert(prop + ' : ' + employees[obj][prop]);
//to change the key's value
if(employees[obj][prop] == 'Smith'){
employees[obj][prop]='Mike';
}
}
}
}
}
Plunker
Approach: 2 Without validation (not recommended)
for(i in employees) {
var obj = employees[i];
for(j in obj) {
var key = j;
var val = obj[j];
alert(key + " : " + val);
}
}
Edit:
var employees={"firstName":"John", "lastName":"Doe"};
Object.keys(employees); // return ["firstName", "lastName"]
Object has a prototype keys, returns an Array of keys in an Object
Chrome, FF & Safari supports Object.keys