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

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -