Reversing an Object.entries conversion

For new browsers, use Object.fromEntries:

Object.fromEntries(arr); 

For older js, it can still be a one liner.

arr.reduce((acc,[k,v])=>(acc[k]=v,acc),{})

Example:

Object.entries(sampleObject) // Turn object to array
   .reduce((acc,[k,v])=>(acc[k]=v,acc),{}) // Turn it back to object.

Sure, just use .reduce to assign to a new object:

const input = { key:'val', key2:'val2', key3:'val3' };

const output = Object.entries(input)
  .filter(([k, v]) => {
    return true; // some irrelevant conditions here
  })
  .reduce((accum, [k, v]) => {
    accum[k] = v;
    return accum;
  }, {});
console.log(output);

In modern browsers, you can also use Object.fromEntries which makes this even easier - you can just pass an array of entries, and it'll create the object from those entries.

const input = { key:'val', key2:'val2', key3:'val3' };

const output = Object.fromEntries(
  Object.entries(input)
    .filter(([k, v]) => {
      return true; // some irrelevant conditions here
    })
);
console.log(output);