Digamos que tengo un objeto de la siguiente manera:
let newObject = { foo: 'foo-value', bar: 'bar-value', baz: 'baz-value' };También tengo una lista:
let list = ['foo', 'baz']Quiero sobrescribir 'foo-value' y 'baz-value' (valor de las claves que aparecen en la lista) con algún 'valor predeterminado'. Así que tengo:
{ foo: 'default-value', bar: 'bar-value', baz: 'default-value' };Si tengo un objeto diferente, digamos
let differentObject = { x: 'x-value', y: 'y-value' }No quiero agregar ningún valor predeterminado, por lo que el operador de distribución no funcionó para mí.
Puedes lograrlo así
let newObject = { foo: 'foo-value', bar: 'bar-value', baz: 'baz-value' }; let list = ['foo', 'baz']; list.forEach(item => { if(newObject[item]) newObject[item] = 'Default value'; }) console.log(newObject);