const pokemon = {
  useless: 'useless prop',
  id: 1,
  name: 'Squirtle',
  type: 'Water'
};

function removeDynamicProperty(object, property) {
  let newObject;
  ({ [property]: value, ...newObject } = object);
  return newObject;
}

console.log(removeDynamicProperty(pokemon, 'useless'));

function removeDynamicProperties(object, properties) {
  return properties.reduce((acc, property) => {
    const { [property]: value, ...newObject } = acc;
    return newObject;
  }, object);
}

console.log(removeDynamicProperties(pokemon, ['name', 'id', 'useless']));

// {id: 1, name: "Squirtle", type: "Water"}
// {type: "Water"}