Tengo un objeto, quiero cambiar el nombre de la clave de un solo objeto y devolver el resto del valor como una matriz.
esto es lo que estoy recibiendo
const order = { id: "929283652nsjs-sis82ms", items: [{ itemCount: 1, itemName: "veg" }], createAt: new Date(), modifiedAt: new Date() } const newArray = Object.keys(order).flatMap((o) => ({ orderId: o.id })) console.log(newArray) //excpected output const expected = [ { orderId: "929283652nsjs-sis82ms", items: [{ itemCount: 1, itemName: "veg" }], createAt: new Date(), modifiedAt: new Date() } ] console.log(expected)Pruebe https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
const order = { id: "929283652nsjs-sis82ms", items: [{ itemCount: 1, itemName: "veg" }], createAt: new Date(), modifiedAt: new Date() } const convert = ({id, ...rest}) => [{orderId: id, ...rest}]; console.log(convert(order));Tome el objeto, desestructura la propiedad que desea cambiar del resto de las propiedades (lo he vuelto a etiquetar en este ejemplo) y envíe un nuevo objeto en una matriz.
const order={id:"929283652nsjs-sis82ms",items:[{itemCount:1,itemName:"veg"}],createAt:new Date,modifiedAt:new Date}; function change(order) { // Destructure the id, relabel it const { id: orderId, ...rest } = order; // And then return that new id along // with the rest of the object properties in an array return [{ orderId, ...rest }]; } console.log(change(order));¿Qué hay de crear una nueva clave asignándole un valor y luego eliminar la clave anterior?
const order = { id: "929283652nsjs-sis82ms", items: [{ itemCount: 1, itemName: "veg" }], createAt: new Date(), modifiedAt: new Date() } order['orderId']=order['id'] // making a new key assigning a value delete order['id'] // deleteing the old key console.log(order)