Javascript undefined value instead of value -
so have these 2 loops. in first loop message says want say; hello herbert, hello peter
.
but in second 1 says; hello undefined
.
what difference between these 2 blocks of code, , why second 1 returns undefined
?
let people = [ { name: "herbert", occupation: "vildstaed", language: ["finnish", "english", "german"] }, { name: "peter", occupation: "skalnstead", language: ["german", "livonian dialect"] } ]; for(var = 0; < people.length; i++){ alert("hello " + people[i].name) } for(let person in people) { alert("hello " + person.name) }
for in
loop return keys
, not objects. second case person
not 1 expect. can see showing person
.
let people = [ { name: "herbert", occupation: "vildstaed", language: ["finnish", "english", "german"] }, { name: "peter", occupation: "skalnstead", language: ["german", "livonian dialect"] } ]; for(let person in people) { alert("hello " + person) }
to want can use for of
loop instead in es6
version or key
let people = [ { name: "herbert", occupation: "vildstaed", language: ["finnish", "english", "german"] }, { name: "peter", occupation: "skalnstead", language: ["german", "livonian dialect"] } ]; for(let person of people) { alert("hello " + person.name) } for(let person in people) { alert("hello " + people[person].name) }
Comments
Post a Comment