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

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -