I keep getting eluded by how property values should be properly retrieved from array literals.
Object literal:
var obj = {
"p1": "v1",
"p2": "v2",
"p3": "v3"
};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(key + " -> " + obj[key]);
}
}
Console log output:
p1 -> v1
p2 -> v2
p3 -> v3
Array literal:
var obj = [
{ "pa":"va1", "pb":"vb1" },
{ "pa":"va2", "pb":"vb2" },
{ "pa":"va3", "pb":"vb3" },
{ "pa":"va4", "pb":"vb4" }
];
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(key + " -> " + obj[key]);
}
}
Console log output (duh!):
0 -> [object Object]
1 -> [object Object]
2 -> [object Object]
3 -> [object Object]
What I'm trying to do: check if a string matches one of the pa
values. If it does, do something.
This would be the logic:
var myString = "a value I'm getting from somewhere else ;)"
if (myString == any of the pa values) {
// do something
}
Any help appreciated!