Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

135
Vistas
Creates an object composed of the picked object properties:

I'm trying to create an object from object and list of properties.

 const pick = (obj, ...fields) => {
  return [...fields] = obj
};

How can I realise this?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Reduce the list of fields, and take the values from the original object:

const pick = (obj, ...fields) => fields.reduce((acc, field) => ({ ...acc, [field]: obj[field] }), {});

const obj = { a: 1, b: 2, c: 3 };

const result = pick(obj, 'a', 'c');

console.log(result);

You can use the in operator to ignore properties that don't exist on the original object:

const pick = (obj, ...fields) => fields.reduce((acc, field) => {
  const value = obj[field];
  
  if(field in obj) acc[field] = value;

  return acc;
}, {});

const obj = { a: 1, b: 2, c: 3 };

const result = pick(obj, 'a', 'c', 'd');

console.log(result);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Try something like this:

const pick = (obj, ...fields) => Object.fromEntries(Object.entries(obj).filter(([k]) => fields.includes(k)))
about 4 years ago · Juan Pablo Isaza Denunciar

0

Iterate through fields array and check if property is available in obj then put into final object which needs to be returned.

const pick = (obj, ...fields) => {
  const finalObj = { };
  for (field of fields) {
    if (obj[field]) {
      finalObj[field] = obj[field];
    }
  }
  return finalObj;
};

const obj = { name: "test name", age: 25, title: "Mr.", city: "test city" };

console.log(pick(obj, "name", "age", "city", "other"));

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda