Для клонирования объекта без свойства:
Например:
let object = { a: 1, b: 2, c: 3 };
И нам нужно удалить «а».
1. С явным ключом реквизита:
const { a, ...rest } = object;
object = rest;
2. С переменным ключом реквизита:
const propKey = 'a';
const { [propKey]: propValue, ...rest } = object;
object = rest;
3. Функция стрелки охлаждения o:
const removePropery = (propKey, { [propKey]: propValue, ...rest }) => rest;
object = removePropery('a', object);
4. Для нескольких свойств
const removeProperties = (object, ...keys) => Object.entries(object).reduce((prev, [key, value]) => ({...prev, ...(!keys.includes(key) && { [key]: value }) }), {})
Usage
object = removeProperties(object, 'a', 'b') // result => { c: 3 }
Или
const propsToRemove = ['a', 'b']
object = removeProperties(object, ...propsToRemove) // result => { c: 3 }