Create an array of key-value pair arrays from a given object

Trying to understand the code [k, obj[k], here object.keys is taking keys of an object and map them so ‘k’ refers to ‘a’ and ‘b’ which are keys. obj[k] seems we are putting mapped keys ‘k’ in an object ‘obj’ to make an array but how we are getting values in an array then?

You have misunderstood what obj[k] does.

Read this <>

Are you asking how it is an array of arrays or why the array has the values it has?

You are not putting anything into the object, you are using the keys to access each property on the object.

map returns an array and here the callback is returning an array. So it becomes an array of arrays.

If you use Object.entries it might read a little better.

const object_to_pairs = (obj) =>
  Object.entries(obj).map(([key, value]) => [key, value]);

console.log(object_to_pairs({ a: 1, b: 2 })); // [ [ 'a', 1 ], [ 'b', 2 ] ]

ah thanks, this really helps

1 Like

thanks for such a detailed reply