Quería escribir un código que aplanara los valores de un objeto. ¡Pero no entiendo por qué el siguiente código cortado cambia el valor de los data originales!
let data = {'row1' : {'a11':10, 'a12':11}, 'row2' : {'a21':23, 'a22':11}} let flat = Object.assign(...Object.values(data)) console.log('flat : ',flat) console.log('data : ',data)resultará en
flat : { a11: 10, a12: 11, a21: 23, a22: 11 } data : { row1: { a11: 10, a12: 11, a21: 23, a22: 11 }, <--- WHY!!!!!!!!!!! row2: { a21: 23, a22: 11 } } Esto incluso sucede si congelo data ,
let data = {'row1' : {'a11':10, 'a12':11}, 'row2' : {'a21':23, 'a22':11}} data = Object.freeze(data) let flat = Object.assign(...Object.values(data)) console.log('flat : ',flat) console.log('data : ',data)lo que también resulta
flat : { a11: 10, a12: 11, a21: 23, a22: 11 } data : { row1: { a11: 10, a12: 11, a21: 23, a22: 11 }, <--- WHY!!!!!!!!!!! row2: { a21: 23, a22: 11 } }¿Qué está pasando?