In Javascript is there a clever way to loop through the names of properties in objects in an array?
I have objects with several properties including guest1 to guest1
Try this:
for (var i = 0; i < results.length; i++) {
for (var j=0; j <= 100; j++){
if (results[i]["guest" + j] != "") {
Do something;
}
}
}
I think you'll find useful the "in" operator:
if (("guest" + i) in results[i]) { /*code*/ }
Cheers
Access properties by constructing string names in the []
object property syntax:
// inside your results[i] loop....
for (var x=1; x<=100; x++) {
// verify with .hasOwnProperty() that the guestn property exists
if (results[i].hasOwnProperty("guest" + x) {
// JS object properties can be accessed as arbitrary strings with []
// Do something with results[i]["guest" + x]
console.log(results[i]["guest" + x]);
}
}