For..In loops in JavaScript - key value pairs For..In loops in JavaScript - key value pairs javascript javascript

For..In loops in JavaScript - key value pairs


for (var k in target){    if (target.hasOwnProperty(k)) {         alert("Key is " + k + ", value is " + target[k]);    }}

hasOwnProperty is used to check if your target really has that property, rather than having inherited it from its prototype. A bit simpler would be:

for (var k in target){    if (typeof target[k] !== 'function') {         alert("Key is " + k + ", value is" + target[k]);    }}

It just checks that k is not a method (as if target is array you'll get a lot of methods alerted, e.g. indexOf, push, pop,etc.)


If you can use ES6 natively or with Babel (js compiler) then you could do the following:

const test = {a: 1, b: 2, c: 3};for (const [key, value] of Object.entries(test)) {  console.log(key, value);}