Estoy tratando de agregar un valor clave existente a la nueva clave wrt a la misma clave, es posible que no pueda explicarlo claramente con mis palabras, pero los datos a continuación pueden tener sentido.
Tengo mis datos en el siguiente formato.
const sampelData = [{ 'car1 critical': [1, 1, 1, 1, 1, 1], 'car1 good': [1, 1, 1, 1, 1, 1, 1], 'car1 warning': [1, 1, 1, 1, 1, 1], 'car2 critical': [0, 0, 0, 0, 0,0], 'car2 good': [0, 0, 0, 0, 0, 0], 'car2 warning': [0, 0, 0, 0, 0, 0] }]y quiero manipular de tal manera que la matriz se asigne a una nueva clave con la misma clave con algún objeto más
Desired output :- [{ 'car1 critical': {data:[1, 1, 1, 1, 1, 1], condition:"critical"}, 'car1 good': {data:[1, 1, 1, 1, 1, 1], condition:"good"}, 'car1 warning': {data:[1, 1, 1, 1, 1, 1], condition:"warning"}, 'car2 critical': {data:[0, 0, 0, 0, 0, 0], condition:"critical"}, 'car2 good': {data:[0, 0, 0, 0, 0, 0], condition:"good"}, 'car2 warning': {data:[0, 0, 0, 0, 0, 0], condition:"warning"} }]Si hay otras formas de manejar dichos datos, cualquier información relacionada con esto será muy bien informada y útil.
Puede usar Array map() con un bucle for..in para recorrer cada objeto y modificar su valor. Aquí hay un ejemplo:
const sampleData = [{ 'car1 critical': [1, 1, 1, 1, 1, 1], 'car1 good': [1, 1, 1, 1, 1, 1, 1], 'car1 warning': [1, 1, 1, 1, 1, 1], 'car2 critical': [0, 0, 0, 0, 0, 0], 'car2 good': [0, 0, 0, 0, 0, 0], 'car2 warning': [0, 0, 0, 0, 0, 0] }] // map sampleData sampleData.map(item => { // Iterate object in sampleData for (let i in item) { // assign new value to each item in object item[i] = { data: item[i], condition: i.split(' ')[1] } } }) console.log(sampleData)