1

I have existing object like that:

let origObj = {
   name: 'John',
   surname: 'Doe',
   age: 23,
   gender: 'M'
}

i want to create a new object with properties, setted in array

let fieldsList = ['name', 'gender'];

New object could be look like this:

newObj = {
   name: 'John',
   gender: 'M'
}

I answered to my question below, but maybe you have a better solutions to solve this, e.g. using ES6 or something else?

J. Doe
  • 502
  • 1
  • 7
  • 16

1 Answers1

0

You can use array#reduce.

let origObj = {
   name: 'John',
   surname: 'Doe',
   age: 23,
   gender: 'M'
}

let fieldsList = ['name', 'gender'];

var newObject = fieldsList.reduce((obj,prop) => {
return obj[prop]= origObj[prop], obj 
} ,{});

console.log(newObject);
Hassan Imam
  • 21,956
  • 5
  • 41
  • 51